Class FoldParserManager
- java.lang.Object
-
- org.fife.ui.rsyntaxtextarea.folding.FoldParserManager
-
- All Implemented Interfaces:
SyntaxConstants
public final class FoldParserManager extends java.lang.Object implements SyntaxConstants
Manages fold parsers. Instances ofRSyntaxTextArea
call into this class to retrieve fold parsers for whatever language they're editing. Folks implementing custom languages can add aFoldParser
implementation for their language to this manager and it will be used by RSTA.- Version:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,FoldParser>
foldParserMap
Map from syntax styles to fold parsers.private static FoldParserManager
INSTANCE
-
Fields inherited from interface org.fife.ui.rsyntaxtextarea.SyntaxConstants
SYNTAX_STYLE_ACTIONSCRIPT, SYNTAX_STYLE_ASSEMBLER_6502, SYNTAX_STYLE_ASSEMBLER_X86, SYNTAX_STYLE_BBCODE, SYNTAX_STYLE_C, SYNTAX_STYLE_CLOJURE, SYNTAX_STYLE_CPLUSPLUS, SYNTAX_STYLE_CSHARP, SYNTAX_STYLE_CSS, SYNTAX_STYLE_CSV, SYNTAX_STYLE_D, SYNTAX_STYLE_DART, SYNTAX_STYLE_DELPHI, SYNTAX_STYLE_DOCKERFILE, SYNTAX_STYLE_DTD, SYNTAX_STYLE_FORTRAN, SYNTAX_STYLE_GO, SYNTAX_STYLE_GROOVY, SYNTAX_STYLE_HANDLEBARS, SYNTAX_STYLE_HOSTS, SYNTAX_STYLE_HTACCESS, SYNTAX_STYLE_HTML, SYNTAX_STYLE_INI, SYNTAX_STYLE_JAVA, SYNTAX_STYLE_JAVASCRIPT, SYNTAX_STYLE_JSON, SYNTAX_STYLE_JSON_WITH_COMMENTS, SYNTAX_STYLE_JSP, SYNTAX_STYLE_KOTLIN, SYNTAX_STYLE_LATEX, SYNTAX_STYLE_LESS, SYNTAX_STYLE_LISP, SYNTAX_STYLE_LUA, SYNTAX_STYLE_MAKEFILE, SYNTAX_STYLE_MARKDOWN, SYNTAX_STYLE_MXML, SYNTAX_STYLE_NONE, SYNTAX_STYLE_NSIS, SYNTAX_STYLE_PERL, SYNTAX_STYLE_PHP, SYNTAX_STYLE_PROPERTIES_FILE, SYNTAX_STYLE_PROTO, SYNTAX_STYLE_PYTHON, SYNTAX_STYLE_RUBY, SYNTAX_STYLE_RUST, SYNTAX_STYLE_SAS, SYNTAX_STYLE_SCALA, SYNTAX_STYLE_SQL, SYNTAX_STYLE_TCL, SYNTAX_STYLE_TYPESCRIPT, SYNTAX_STYLE_UNIX_SHELL, SYNTAX_STYLE_VISUAL_BASIC, SYNTAX_STYLE_WINDOWS_BATCH, SYNTAX_STYLE_XML, SYNTAX_STYLE_YAML
-
-
Constructor Summary
Constructors Modifier Constructor Description private
FoldParserManager()
Private constructor to prevent instantiation.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addFoldParserMapping(java.lang.String syntaxStyle, FoldParser parser)
Adds a mapping from a syntax style to a fold parser.private java.util.Map<java.lang.String,FoldParser>
createFoldParserMap()
Creates the syntax style-to-fold parser mapping for built-in languages.static FoldParserManager
get()
Returns the singleton instance of this class.FoldParser
getFoldParser(java.lang.String syntaxStyle)
Returns a fold parser to use for an editor highlighting code of a specific language.
-
-
-
Field Detail
-
foldParserMap
private java.util.Map<java.lang.String,FoldParser> foldParserMap
Map from syntax styles to fold parsers.
-
INSTANCE
private static final FoldParserManager INSTANCE
-
-
Method Detail
-
addFoldParserMapping
public void addFoldParserMapping(java.lang.String syntaxStyle, FoldParser parser)
Adds a mapping from a syntax style to a fold parser. The parser specified will be shared among all RSTA instances editing that language, so it should be stateless (which should not be difficult for a fold parser). You can also override the fold parser for built-in languages, such asSYNTAX_STYLE_JAVA
, with your own parser implementations.- Parameters:
syntaxStyle
- The syntax style.parser
- The parser.- See Also:
SyntaxConstants
-
createFoldParserMap
private java.util.Map<java.lang.String,FoldParser> createFoldParserMap()
Creates the syntax style-to-fold parser mapping for built-in languages.- Returns:
- The style-to-fold parser mapping.
-
get
public static FoldParserManager get()
Returns the singleton instance of this class.- Returns:
- The singleton instance.
-
getFoldParser
public FoldParser getFoldParser(java.lang.String syntaxStyle)
Returns a fold parser to use for an editor highlighting code of a specific language.- Parameters:
syntaxStyle
- A value fromSyntaxConstants
, such asSYNTAX_STYLE_JAVA
.- Returns:
- A fold parser to use, or
null
if none is registered for the language.
-
-