/*
 * Insert_Tag.bsh - a BeanShell macro script for the
 * jEdit text editor - inserts opening and closing tags
 * around selected text
 * 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 the jEdit program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 * $Id: Insert_Tag.bsh 4988 2004-03-08 04:29:12Z spestov $
 */


void insertTag()
{
	caret = textArea.getCaretPosition();
	tag = Macros.input(view, "Enter name of tag:");
	if( tag == null || tag.length() == 0) return;
	text = textArea.getSelectedText();
	if(text == null) text = "";
	sb = new StringBuffer();
	sb.append("<").append(tag).append(">");
	sb.append(text);
	sb.append("</").append(tag).append(">");
	textArea.setSelectedText(sb.toString());
	//if no selected text, put the caret between the tags
	if(text.length() == 0)
		textArea.setCaretPosition(caret + tag.length() + 2);
}

if(buffer.isReadOnly())
	Macros.error(view, "Buffer is read-only.");
else
	insertTag();

/*
	Macro index data (in DocBook format)

<listitem>
    <para><filename>Insert_Tag.bsh</filename></para>
    <abstract><para>
        Inserts a balanced pair of markup tags as supplied in a i
		nput dialog.
    </para></abstract>
</listitem>

*/

// end Insert_Tag.bsh
