Skip to content
This repository has been archived by the owner on May 11, 2021. It is now read-only.

Commit

Permalink
flex rules, color schemes
Browse files Browse the repository at this point in the history
  • Loading branch information
hsz committed Jan 16, 2015
1 parent 57f13b4 commit 62cca21
Show file tree
Hide file tree
Showing 8 changed files with 112 additions and 49 deletions.
2 changes: 1 addition & 1 deletion META-INF/plugin.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<idea-plugin version="2">
<id>mobi.hsz.idea.latex</id>
<name>LaTeX plugin for IntelliJ IDEA</name>
<name>LaTeX</name>
<version>0.1</version>
<vendor email="[email protected]" url="http://www.hsz.mobi">hsz</vendor>

Expand Down
5 changes: 5 additions & 0 deletions resources/colorSchemes/LatexDarcula.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
<option name="FOREGROUND" value="ED7600" />
</value>
</option>
<option name="LATEX.ARGUMENT">
<value>
<option name="FOREGROUND" value="668AA1" />
</value>
</option>
<option name="LATEX.BRACKET">
<value>
<option name="FOREGROUND" value="365A71" />
Expand Down
5 changes: 5 additions & 0 deletions resources/colorSchemes/LatexDefault.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
<option name="FOREGROUND" value="8A4A0B" />
</value>
</option>
<option name="LATEX.ARGUMENT">
<value>
<option name="FOREGROUND" value="4486B0" />
</value>
</option>
<option name="LATEX.BRACKET">
<value>
<option name="FOREGROUND" value="145680" />
Expand Down
1 change: 1 addition & 0 deletions src/mobi/hsz/idea/latex/highlighter/LatexHighlighter.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ public class LatexHighlighter extends SyntaxHighlighterBase {
SyntaxHighlighterBase.fillMap(ATTRIBUTES, LatexParserDefinition.COMMENTS, LatexHighlighterColors.COMMENT);
SyntaxHighlighterBase.fillMap(ATTRIBUTES, LatexParserDefinition.INSTRUCTIONS, LatexHighlighterColors.INSTRUCTION);
SyntaxHighlighterBase.fillMap(ATTRIBUTES, LatexParserDefinition.BRACKETS, LatexHighlighterColors.BRACKET);
SyntaxHighlighterBase.fillMap(ATTRIBUTES, LatexParserDefinition.ARGUMENTS, LatexHighlighterColors.ARGUMENT);
}

/** Current project. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,7 @@ public class LatexHighlighterColors {

/** Default style for bracket: [](){} */
public static final TextAttributesKey BRACKET = TextAttributesKey.createTextAttributesKey("LATEX.BRACKET", DefaultLanguageHighlighterColors.BRACKETS);

/** Default style for Latex instruction's argument */
public static final TextAttributesKey ARGUMENT = TextAttributesKey.createTextAttributesKey("LATEX.ARGUMENT", DefaultLanguageHighlighterColors.PARAMETER);
}
3 changes: 3 additions & 0 deletions src/mobi/hsz/idea/latex/lang/LatexParserDefinition.java
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ public class LatexParserDefinition implements ParserDefinition {
/** Latex instruction started with \ */
public static final TokenSet INSTRUCTIONS = TokenSet.create(LatexTypes.INSTRUCTION);

/** Latex instruction's argument */
public static final TokenSet ARGUMENTS = TokenSet.create(LatexTypes.ARGUMENT);

/** All brackets: braces, brackets, parenthesis */
public static final TokenSet BRACKETS = TokenSet.create(
LatexTypes.LBRACE, LatexTypes.RBRACE,
Expand Down
30 changes: 20 additions & 10 deletions src/mobi/hsz/idea/latex/lexer/Latex.flex
Original file line number Diff line number Diff line change
Expand Up @@ -23,28 +23,38 @@ import static com.intellij.psi.TokenType.*;
%type IElementType
%unicode

CRLF = "\r"|"\n"|"\r\n"
EOL = "\r"|"\n"|"\r\n"
LINE_WS = [\ \t\f]
WHITE_SPACE = ({LINE_WS}*{CRLF}+)+
WHITE_SPACE = ({LINE_WS}|{EOL})+

INSTRUCTION = \\[a-zA-Z]+
COMMENT = %[^\r\n]*
ARGUMENT = [\w ]+
COMMENT = %.*
SPECIAL = [\S]
CRLF = [\s\r\n]+

%state IN_ENTRY

%%
<YYINITIAL> {
{WHITE_SPACE}+ { return WHITE_SPACE; }

{INSTRUCTION} { return INSTRUCTION; }
{COMMENT} { return COMMENT; }

"(" { return LPAREN; }
")" { return RPAREN; }
"[" { return LBRACKET; }
"]" { return RBRACKET; }
"{" { return LBRACE; }
"}" { return RBRACE; }
"[" { return LBRACKET; }
"]" { return RBRACKET; }
"(" { return LPAREN; }
")" { return RPAREN; }
"," { return COMMA; }
":" { return COLON; }
"*" { return ASTERISK; }
"\\\\" { return LINE_BREAK; }

{INSTRUCTION} { return INSTRUCTION; }
{ARGUMENT} { return ARGUMENT; }
{COMMENT} { return COMMENT; }
{SPECIAL} { return SPECIAL; }
{CRLF} { return CRLF; }

[^] { yybegin(YYINITIAL); return BAD_CHARACTER; }
} // <YYINITIAL>
112 changes: 74 additions & 38 deletions src/mobi/hsz/idea/latex/lexer/LatexLexer.java

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 62cca21

Please sign in to comment.