com.ibm.lpex.html
Class HtmlParser
java.lang.Object
com.ibm.lpex.core.LpexCommonParser
com.ibm.lpex.html.HtmlParser
- All Implemented Interfaces:
- LpexConstants, LpexParser
public class HtmlParser
- extends LpexCommonParser
Document parser for HTML.
Actions and their assigned keys added by this document parser:
- htmlAmp (Ctrl+&) - to insert an ampersand
character entity reference (&)
- htmlB (Ctrl+B) - to set the bold text style to the
currently selected text
- htmlGt (Ctrl+>) - to insert a greater-than sign
character entity reference (>)
- htmlHeadings - for a selective view of the headings
defined in the document
- htmlHrefs - for a folded view of the hyperlink references
defined in the document
- htmlI (Ctrl+I) - to set the italic text style to the
currently selected text
- htmlLt (Ctrl+<) - to insert a less-than sign
character entity reference (<)
- htmlNbsp (Ctrl+Space) - to insert a non-breaking space
character entity reference ( )
- htmlQuot (Ctrl+") - to insert a double-quote
character entity reference (")
- htmlTag (Ctrl+G) - to prompt for an element name, and insert a
start-end pair of tags for this element around the currently selected text
- tasks - to display the comment lines tagged with tasks (TODOs).
Keys already defined (for example, by the active base editor profile and
by the user profile) to an action different from nullAction are not
redefined in here.
Commands added by this document parser:
- htmlTag - to insert a start-end pair of tags for the specified element
around the currently selected text
- lowercaseTagNames - to change all tag names in the document
to lower case
- uppercaseTagNames - to change all tag names in the document
to upper case.
Default editor action modified by this document parser:
- contextHome - to skip comment-defining characters when determining
the start of the text.
Parser properties handled directly by this parser:
- taskTags - task tags in comments (install setting:
TODO
)
- proto.keyword - template expansion (proto action,
Ctrl+R) for the following keywords is provided in this parser's profile
(install settings):
href, image, img, table
.
Fields inherited from class com.ibm.lpex.core.LpexCommonParser |
ATTRIBUTES_COMMENT, ATTRIBUTES_COMMENT_KEYWORD, ATTRIBUTES_COMMENT1, ATTRIBUTES_DEFAULT, ATTRIBUTES_DIRECTIVE, ATTRIBUTES_ERROR, ATTRIBUTES_ERROR1, ATTRIBUTES_KEYWORD, ATTRIBUTES_KEYWORD1, ATTRIBUTES_LIBRARY, ATTRIBUTES_NONSOURCE, ATTRIBUTES_NUMERAL, ATTRIBUTES_STRING, ATTRIBUTES_STRING1, BACKGROUND_COLOR, CLASS_MESSAGE, LANGUAGE_CCPP, LANGUAGE_CICS, LANGUAGE_CL, LANGUAGE_COBOL, LANGUAGE_COBOL400, LANGUAGE_COBOLILE, LANGUAGE_DDS, LANGUAGE_DLI, LANGUAGE_FORTRAN, LANGUAGE_HLASM, LANGUAGE_HTML, LANGUAGE_JAVA, LANGUAGE_JCL, LANGUAGE_LISP, LANGUAGE_PERL, LANGUAGE_PLI, LANGUAGE_REXX, LANGUAGE_RPG, LANGUAGE_RPGLEFIXED, LANGUAGE_RPGLEFREE, LANGUAGE_SABRETALK, LANGUAGE_SQL, LANGUAGE_XMI, LANGUAGE_XML, LANGUAGE_XSL, LEXER_RC_END, LEXER_RC_EOF, LEXER_RC_MORE, LEXER_RC_OK, POPUP_END, POPUP_FILTERVIEW, POPUP_SOURCE, POPUP_TOP, PROTOKEY_EMPTY, STYLE_MESSAGE, STYLE_NAME, view |
Fields inherited from interface com.ibm.lpex.core.LpexConstants |
HELP_COMMAND_MAP, LPEX_VERSION, MSG_POPUP_COMMENT, MSG_POPUP_ERRORS, MSG_POPUP_EXCLUDESELECTION, MSG_POPUP_FILTERVIEWMENU, MSG_POPUP_INSERTMENU, MSG_POPUP_SELECTEDMENU, MSG_POPUP_SHOWALL, MSG_POPUP_SOURCEMENU, MSG_POPUP_TASKS, MSG_POPUP_UNCOMMENT, PARSE_PENDING_CHANGE_MASK, PARSE_PENDING_INSERT_MASK, PARSE_PENDING_NEXT_DELETED_MASK, PARSE_PENDING_NEXT_SHOW_DELETED_MASK, PARSE_PENDING_PREV_DELETED_MASK, PARSE_PENDING_PREV_SHOW_DELETED_MASK, PARSE_PENDING_UNDO_MASK, PLATFORM_AWT, PLATFORM_SWT, PLATFORM_SWT_KEY, SHOW_ALL, SHOW_DOCUMENT, SHOW_NONE, SHOW_VIEW, STATUS_FIELDS_NOINSERT, STATUS_FIELDS_TRUNCATE, STATUS_FILE_ERRORREADING, STATUS_FILE_INCORRECTENCODING, STATUS_FILE_NOTFOUND, STATUS_FINDTEXT_INVALIDPATTERN, STATUS_FINDTEXT_NOTFOUND, STATUS_FINDTEXT_ONLYOCCURRENCE, STATUS_FINDTEXT_READONLY, STATUS_FINDTEXT_WRAPPED, STATUS_LOCATE_NOSEQUENCETEXT, STATUS_LOCATE_NOTFOUND, STATUS_LOCATE_WRAPPED, STATUS_SAVE_CANCELLED, STATUS_SAVE_FAILED, STATUS_TEXTLIMIT_ENFORCED, STATUS_TEXTLIMIT_OVERFLOW, STATUS_UNDO_NOTHINGUNDONE |
Methods inherited from class com.ibm.lpex.core.LpexCommonParser |
addDocumentMessage, addMessage, addMessage, addMessage, blockMarkWord, copyDocumentMessages, cursorIndent, defineFilterAction, defineFilterAction, expandProtoKeyword, getInstallStyleAttributes, getLanguage, getLshToken, getProperty, getStyleName, getStyles, getTextIndent, getToken, getTokenLocation, indentText, indentText, indentText, isDebuggable, isPrimaryParser, isWordCharacter, lineComment, lpexView, matchToken, newLine, openLine, parse, removeDocumentMessages, removeMessages, removeMessages, resetParser, setProperty, setStyle, splitLine, styleString, terminateParser, tokenBegin, tokenEnd, totalParse |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HtmlParser
public HtmlParser(LpexView lpexView)
- Constructor.
- Parameters:
lpexView
- the document view associated with this parser
initParser
protected void initParser()
- Initializes the parser.
Sets up the parser for the associated document view:
sets style attributes, registers element classes, creates editor actions,
redefines the popup, etc. for the language-sensitive edit features supported.
- Overrides:
initParser
in class LpexCommonParser
- See Also:
- Life cycle
parseAll
public void parseAll()
- Total parse of the entire document.
Done initially, after a document has been loaded in the editor, after an
updateProfile command, and after a change to the taskTags
parser property.
- Specified by:
parseAll
in class LpexCommonParser
- See Also:
- Total and incremental parse
parseElement
public void parseElement(int element)
- Incremental parse.
- Specified by:
parseElement
in class LpexCommonParser
- Parameters:
element
- an element affected by a committed change in this view- See Also:
LpexView.parsePending(int)
,
LpexView.elementParsed(int)
,
Total and incremental parse
getProfile
public ResourceBundle getProfile()
- Returns the parser's properties profile resource bundle.
- Overrides:
getProfile
in class LpexCommonParser
- See Also:
LpexCommonParser.getProperty(java.lang.String)
,
Parser properties
getLanguage
public String getLanguage()
- Returns "HTML", the language supported by this parser.
- Overrides:
getLanguage
in class LpexCommonParser
- See Also:
LpexCommonParser.LANGUAGE_HTML
propertySet
protected void propertySet(String key)
- Listens to changes to the taskTags parser property in this view.
- Overrides:
propertySet
in class LpexCommonParser
- Parameters:
key
- base name of the parser property that was set, for example "autoIndent"- See Also:
LpexCommonParser.setProperty(String,String)
,
LpexCommonParser.getProperty(java.lang.String)
,
Parser properties
redefineContextHome
public static void redefineContextHome(LpexView lpexView,
long commentClass)
- Convenience utility to redefine the contextHome editor action for the
HTML, XML, and XSL document parsers.
In determining the start of the effective text in a line, it skips a
comment-start indicator "<!--" styled with the comment style character 'c'
in an element of class commentClass.
getPopupItems
protected String getPopupItems(int popupLocation)
- Returns this parser's contribution to the popup.
This parser contributes to the Filter view submenu (HTML References, Tasks),
and adds an Insert submenu.
- Overrides:
getPopupItems
in class LpexCommonParser
- Parameters:
popupLocation
- the location on the pop-up menu of the items
requested, one of:
LpexCommonParser.POPUP_TOP
, LpexCommonParser.POPUP_FILTERVIEW
,
LpexCommonParser.POPUP_SOURCE
, LpexCommonParser.POPUP_END
- Returns:
- this parser's contribution to the pop-up menu, or
null
if none - See Also:
LpexCommonParser.defineFilterAction(java.lang.String, java.lang.String)
setStyleAttributes
public void setStyleAttributes()
- Defines this parser's style attributes.
The following style characters are set:
'_'
(layout blanks),
't'
(text),
'='
(equal),
'k'
(tag name),
'u'
(unrecognized tag),
'd'
(tag delimiter),
'a'
(tag attribute name),
'v'
(tag attribute value),
'c'
(comment),
'$'
(comment task tag),
'e'
(error).
getCommentStyleCharacters
public String getCommentStyleCharacters()
- Returns the style characters used for styling comments ("c$").
- Overrides:
getCommentStyleCharacters
in class LpexCommonParser
isTokenDelimiter
public boolean isTokenDelimiter(char ch)
- Returns
true
if the specified character is a token delimiter.
- Overrides:
isTokenDelimiter
in class LpexCommonParser
- Parameters:
ch
- character queried, for example ')'- See Also:
LpexCommonParser.getToken(com.ibm.lpex.core.LpexDocumentLocation)
,
LpexCommonParser.tokenBegin(com.ibm.lpex.core.LpexDocumentLocation)
,
LpexCommonParser.tokenEnd(com.ibm.lpex.core.LpexDocumentLocation)
tagSelection
public static void tagSelection(LpexView v,
String tag)
- Adds a <tag> and </tag> pair to the selected text.
The tags are inserted at the cursor location if no selection is in effect
in this view.
- Parameters:
v
- document viewtag
- HTML tag to add, e.g., "b"
Copyright © 2013 IBM Corp. All Rights Reserved.
Note: This documentation is for part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.