⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 add_prefix_and_suffix.bsh

📁 用java 编写的源码开放的文本编辑器。有很多有用的特性
💻 BSH
字号:
/* * Add_Prefix_and_Suffix.bsh - a BeanShell macro script for the * jEdit text editor - obtains and processes input for prefix and * suffix text to be inserted in selected lines in the current * editing buffer * Copyright (C) 2001 John Gellene * jgellene@nyc.rr.com * http://community.jedit.org * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. * * $Id: Add_Prefix_and_Suffix.bsh,v 1.8 2002/11/21 23:08:37 spestov Exp $ * * Notes on use: * * If no text is selected, the macro will operate on the current line. * * The caret position is part of the selected text; if the caret is at * the beginning of a line, the macro will operate on that line. * * The use of HistoryTextField objects allows the macro to 'remember' * past entries for the prefix and suffix. * * Checked for jEdit 4.0 API * */// beginning of Add_suffix_and_prefix.bsh// import statementsimport javax.swing.border.*;// main routinevoid prefixSuffixDialog(){    // create dialog object and set its features    title = "Add prefix and suffix to selected lines";    dialog = new JDialog(view, title, false);    content = new JPanel(new BorderLayout());    content.setBorder(new EmptyBorder(12, 12, 12, 12));    dialog.setContentPane(content);    // add to the dialog a panel containing the text fields for    // entry of the prefix and suffix text    fieldPanel = new JPanel(new GridLayout(4, 1, 0, 6));    prefixField = new HistoryTextField("macro.add-prefix");    prefixLabel = new JLabel("Prefix to add:");    suffixField = new HistoryTextField("macro.add-suffix");    suffixLabel = new JLabel("Suffix to add:");    fieldPanel.add(prefixLabel);    fieldPanel.add(prefixField);    fieldPanel.add(suffixLabel);    fieldPanel.add(suffixField);    content.add(fieldPanel, "Center");    // add a panel containing the buttons    buttonPanel = new JPanel();    buttonPanel.setLayout(new BoxLayout(buttonPanel,        BoxLayout.X_AXIS));    buttonPanel.setBorder(new EmptyBorder(12, 50, 0, 50));    buttonPanel.add(Box.createGlue());    ok = new JButton("OK");    cancel = new JButton("Cancel");    ok.setPreferredSize(cancel.getPreferredSize());    dialog.getRootPane().setDefaultButton(ok);    buttonPanel.add(ok);    buttonPanel.add(Box.createHorizontalStrut(6));    buttonPanel.add(cancel);    buttonPanel.add(Box.createGlue());    content.add(buttonPanel, "South");    // register this method as an ActionListener for    // the buttons and text fields    ok.addActionListener(this);    cancel.addActionListener(this);    prefixField.addActionListener(this);    suffixField.addActionListener(this);    // locate the dialog in the center of the    // editing pane and make it visible    dialog.pack();    dialog.setLocationRelativeTo(view);    dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);    dialog.setVisible(true);    // this method will be called when a button is clicked    // or when ENTER is pressed    void actionPerformed(e)    {        if(e.getSource() != cancel)        {            processText();        }        dialog.dispose();    }    // this is where the work gets done to insert    // the prefix and suffix    void processText()    {        prefix = prefixField.getText();        suffix = suffixField.getText();        if(prefix.length() == 0 && suffix.length() == 0)            return;        prefixField.addCurrentToHistory();        suffixField.addCurrentToHistory();        // text manipulation begins here using calls        // to jEdit methods        buffer.beginCompoundEdit();        selectedLines = textArea.getSelectedLines();        for(i = 0; i < selectedLines.length; ++i)        {            offsetBOL = textArea.getLineStartOffset(selectedLines[i]);            textArea.setCaretPosition(offsetBOL);            textArea.goToStartOfWhiteSpace(false);            textArea.goToEndOfWhiteSpace(true);            text = textArea.getSelectedText();            if(text == null) text = "";            textArea.setSelectedText(prefix + text + suffix);        }        buffer.endCompoundEdit();    }}// this single line of code is the script's main routine// it calls the methods and exitsprefixSuffixDialog();/*	Macro index data (in DocBook format)<listitem>    <para><filename>Add_Prefix_and_Suffix.bsh</filename></para>    <abstract><para>        Adds user-supplied <quote>prefix</quote> and <quote>suffix</quote>        text to each line in a group of selected lines.    </para></abstract>    <para>        Text is added after leading whitespace and before trailing whitespace.        A dialog window receives input and <quote>remembers</quote> past entries.    </para></listitem>*/// end Add_Prefix_and_Suffix.bsh

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -