├── Snippets
├── break.tmSnippet
├── java_io.tmSnippet
├── default.tmSnippet
├── final.tmSnippet
├── java_math.tmSnippet
├── java_net_.tmSnippet
├── java_util_.tmSnippet
├── import.tmSnippet
├── java_beans_.tmSnippet
├── public.tmSnippet
├── return.tmSnippet
├── static.tmSnippet
├── throw.tmSnippet
├── abstract.tmSnippet
├── print.tmSnippet
├── private.tmSnippet
├── while.tmSnippet
├── else.tmSnippet
├── if.tmSnippet
├── protected.tmSnippet
├── throw new.tmSnippet
├── try.tmSnippet
├── case.tmSnippet
├── println.tmSnippet
├── finally.tmSnippet
├── for (each).tmSnippet
├── for.tmSnippet
├── switch.tmSnippet
├── synchronized.tmSnippet
├── else if.tmSnippet
├── test.tmSnippet
├── variable.tmSnippet
├── catch.tmSnippet
├── constant.tmSnippet
├── method.tmSnippet
├── constant string.tmSnippet
├── method (main).tmSnippet
├── assert.tmSnippet
├── import junit_framework_TestCase;.tmSnippet
├── test case.tmSnippet
├── interface.tmSnippet
└── class.tmSnippet
├── Preferences
├── Indentation Rules - Java Properties.tmPreferences
├── Symbol List: Classes.tmPreferences
├── Folding - JSP.tmPreferences
├── Folding - Java.tmPreferences
├── Folding - JUnit.tmPreferences
├── Symbol List: Inner Classes.tmPreferences
├── Symbol List: Method.plist
├── Symbol List: Inner Inner Classes.tmPreferences
├── Symbol List: Inner Class Methods.tmPreferences
├── Symbol List: Inner Inner Class Methods.tmPreferences
├── Indentation Rules.tmPreferences
├── Java Properties Comments.tmPreferences
└── Comments.tmPreferences
├── Support
└── bin
│ ├── java_compile_and_run.sh
│ └── javamate.rb
├── Tests
├── Numeric Literals.java
├── Enums.java
├── Test.java
└── Test.jsp
├── Commands
├── Copy Fully Qualified Class Name.tmCommand
├── Compile & Run.tmCommand
├── Compile & Run (with args).tmCommand
├── Go To Stackframe Source.tmCommand
├── Create Package Declaration.tmCommand
├── Documentation For Word.plist
└── Organize Imports.tmCommand
├── README.mdown
├── Syntaxes
├── JUnit Test Report.tmLanguage
├── JavaProperties.plist
├── Java.plist
└── Java Server Pages (JSP).tmLanguage
└── info.plist
/Snippets/break.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | break;
7 |
8 | name
9 | break
10 | scope
11 | source.java
12 | tabTrigger
13 | br
14 | uuid
15 | E4DACBFB-F029-4EC3-BB0D-BEF0D5369DA7
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Snippets/java_io.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | java.io.
7 | name
8 | java.io.
9 | scope
10 | source.java
11 | tabTrigger
12 | j.i
13 | uuid
14 | 2887D1D3-A714-41B6-9211-4DEC12417889
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/default.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | default:
7 | $0
8 | name
9 | default
10 | scope
11 | source.java
12 | tabTrigger
13 | de
14 | uuid
15 | F050CAEB-56AB-40A7-846B-E5DB70FA0A90
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Snippets/final.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | final
7 | name
8 | final
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | fi
13 | uuid
14 | F53E8BF9-4911-4131-B31F-8B4DEE47E421
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/java_math.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | java.math.
7 | name
8 | java.math.
9 | scope
10 | source.java
11 | tabTrigger
12 | j.m
13 | uuid
14 | 592F2823-7A2B-4881-99A4-7A18D3623902
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/java_net_.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | java.net.
7 | name
8 | java.net.
9 | scope
10 | source.java
11 | tabTrigger
12 | j.n
13 | uuid
14 | 94C09B88-AC93-4045-86D1-206639D582D0
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/java_util_.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | java.util.
7 | name
8 | java.util.
9 | scope
10 | source.java
11 | tabTrigger
12 | j.u
13 | uuid
14 | 97DC6637-998E-493C-9765-C8CFB29AC18C
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/import.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | import
7 | name
8 | import
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | im
13 | uuid
14 | 097F4236-D7A4-412F-A078-11ABFCAFC7BA
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/java_beans_.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | java.beans.
7 | name
8 | java.beans.
9 | scope
10 | source.java
11 | tabTrigger
12 | j.b
13 | uuid
14 | 5EEDE297-9489-41C8-A7AF-BDB5EABEF41F
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/public.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | public
7 | name
8 | public
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | pu
13 | uuid
14 | BD7A6DBE-0180-4E1A-A428-14D44BD88F88
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/return.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | return
7 | name
8 | return
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | re
13 | uuid
14 | BF745BD9-E345-4CFB-82B1-2CC2195BEFA8
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/static.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | static
7 | name
8 | static
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | st
13 | uuid
14 | C0525A43-EEF4-4F59-AC09-84D263888433
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/throw.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | throw $0
7 | name
8 | throw
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | th
13 | uuid
14 | F0C15D98-790E-4755-A04E-B8903D50F5C6
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/abstract.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | abstract
7 | name
8 | abstract
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | ab
13 | uuid
14 | E54D7A3C-107A-426E-91E8-D066A978BC5E
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/print.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | System.out.print($1);$0
7 | name
8 | print
9 | scope
10 | source.java
11 | tabTrigger
12 | p
13 | uuid
14 | 5F390B93-6A28-4EED-B04A-D213640B9DAF
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/private.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | private
7 | name
8 | private
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | pr
13 | uuid
14 | 8E765795-CC9D-46D7-8602-7E2DBB7026B2
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/while.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | while ($1) {
7 | $0
8 | }
9 | name
10 | while
11 | scope
12 | source.java
13 | tabTrigger
14 | wh
15 | uuid
16 | 755B1EB0-934C-49C6-AD08-B461C2205C46
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/else.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | else {
7 | $0
8 | }
9 | name
10 | else
11 | scope
12 | source.java, source.groovy
13 | tabTrigger
14 | el
15 | uuid
16 | 5A7786EE-5F23-422E-A6EC-69778ED7C8FC
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/if.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | if ($1) {
7 | $0
8 | }
9 | name
10 | if
11 | scope
12 | source.java, source.groovy
13 | tabTrigger
14 | if
15 | uuid
16 | 476E26EB-5A53-45B3-A497-B22B12815C7F
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/protected.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | protected
7 | name
8 | protected
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | po
13 | uuid
14 | 56C938B4-22B8-45F4-8E09-5BB4DE4633B0
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/throw new.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | throw new $0
7 | name
8 | throw new
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | tn
13 | uuid
14 | E0D61777-04FC-416F-82A7-7B54C446A00B
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/try.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | try {
7 | $0
8 | }
9 | name
10 | try
11 | scope
12 | source.java, source.groovy
13 | tabTrigger
14 | tr
15 | uuid
16 | 7FB7C9A7-08BB-410F-B012-40D99ED8A60E
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/case.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | case $1:
7 | $2
8 | $0
9 | name
10 | case
11 | scope
12 | source.java, source.groovy
13 | tabTrigger
14 | cs
15 | uuid
16 | 7396532C-3567-4BDA-9C10-51454A2F2F6D
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/println.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | System.out.println($1);$0
7 | name
8 | println
9 | scope
10 | source.java
11 | tabTrigger
12 | pl
13 | uuid
14 | DFD7AE0D-D5CC-4FFF-B37D-EA7ACC8E34DF
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/finally.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | finally {
7 | $0
8 | }
9 | name
10 | finally
11 | scope
12 | source.java, source.groovy
13 | tabTrigger
14 | fy
15 | uuid
16 | 2556E4C9-353C-4D34-A48D-7718A3739F40
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/for (each).tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | for ($1 : $2) {
7 | $0
8 | }
9 | name
10 | for (each)
11 | scope
12 | source.java
13 | tabTrigger
14 | fore
15 | uuid
16 | 8B84EAD3-F93D-407A-8BB1-4FEF8B0C71D7
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/for.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | for ($1; $2; $3) {
7 | $0
8 | }
9 | name
10 | for
11 | scope
12 | source.java, source.groovy
13 | tabTrigger
14 | for
15 | uuid
16 | BC9380F7-43F1-4304-91CD-4C490B0A6037
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/switch.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | switch ($1) {
7 | $0
8 | }
9 | name
10 | switch
11 | scope
12 | source.java, source.groovy
13 | tabTrigger
14 | sw
15 | uuid
16 | 2D2F53B7-E41C-4AEE-8A5E-2A5BB7B42E65
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/synchronized.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | synchronized
7 | name
8 | synchronized
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | sy
13 | uuid
14 | 96251D07-2F30-4610-9F0F-65DE730CC0B5
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/else if.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | else if ($1) {
7 | $0
8 | }
9 | name
10 | else if
11 | scope
12 | source.java, source.groovy
13 | tabTrigger
14 | elif
15 | uuid
16 | 4C07C9CB-4306-417B-B152-653E93C987B5
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/test.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | public void test${1:Name}() throws Exception {
7 | $0
8 | }
9 | name
10 | test
11 | scope
12 | source.java
13 | tabTrigger
14 | t
15 | uuid
16 | 8B285F69-5A6A-46B4-BB31-B5F10DCB5719
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/variable.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | ${1:String} ${2:var}${3: = ${0:null}};
7 | name
8 | variable
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | v
13 | uuid
14 | 3621828B-39DB-4B56-8300-DD5C76333868
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/catch.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | catch (${1:Exception} ${2:e}) {
7 | $0
8 | }
9 | name
10 | catch
11 | scope
12 | source.java, source.groovy
13 | tabTrigger
14 | ca
15 | uuid
16 | CE3059F1-EBFE-426B-A98A-7D935580F915
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/constant.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | public static final ${1:String} ${2:var} = $3;$0
7 | name
8 | constant
9 | scope
10 | source.java
11 | tabTrigger
12 | co
13 | uuid
14 | 8CD02FE6-B5EE-4335-AFDF-7CC02C969563
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/method.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | ${1:void} ${2:method}($3) ${4:throws $5 }{
7 | $0
8 | }
9 |
10 | name
11 | method
12 | scope
13 | source.java
14 | tabTrigger
15 | m
16 | uuid
17 | 16D51B5E-56BC-4ED0-84FB-FCC68479BE8E
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Snippets/constant string.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | public static final String ${1:var} = "$2";$0
7 | name
8 | constant string
9 | scope
10 | source.java
11 | tabTrigger
12 | cos
13 | uuid
14 | 4876099F-502E-471F-9D0D-916C7EF2E353
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/method (main).tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | public static void main(String[] args) {
7 | $0
8 | }
9 | name
10 | method (main)
11 | scope
12 | source.java
13 | tabTrigger
14 | main
15 | uuid
16 | 90A0278A-56B2-465B-B629-A01DF6524FEA
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Preferences/Indentation Rules - Java Properties.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Indentation Rules - Properties File
7 | scope
8 | source.java-properties
9 | settings
10 |
11 | disableIndentCorrections
12 |
13 |
14 | uuid
15 | BB1257BA-0871-4B9F-B637-240F884E81E5
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Preferences/Symbol List: Classes.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Symbol List: Classes
7 | scope
8 | source.java meta.class meta.class.identifier
9 | settings
10 |
11 | showInSymbolList
12 | 1
13 |
14 | uuid
15 | 22E489AE-989E-4A76-9C18-89944CF5013D
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Snippets/assert.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | assert ${1:test}${2/(.+)/(?1: \: ")/}${2:Failure message}${2/(.+)/(?1:")/};$0
7 | name
8 | assert
9 | scope
10 | source.java, source.groovy
11 | tabTrigger
12 | as
13 | uuid
14 | A30E90E6-FFBF-4899-AB97-7CAA00D0B824
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Snippets/import junit_framework_TestCase;.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | import junit.framework.TestCase;
7 | $0
8 | name
9 | import junit.framework.TestCase;
10 | scope
11 | source.java
12 | tabTrigger
13 | imt
14 | uuid
15 | D8E7B79D-ADEC-437D-BFDE-F20D5362D892
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Snippets/test case.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | public class ${1:${TM_FILENAME/(.*?)(\..+)/$1/}} extends ${2:TestCase} {
7 | $0
8 | }
9 | name
10 | test case
11 | scope
12 | source.java
13 | tabTrigger
14 | tc
15 | uuid
16 | D3D659F5-5318-4D0A-85E2-9A03902A1668
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Snippets/interface.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | interface ${1:${TM_FILENAME/(.*?)(\..+)/$1/}} ${2:extends ${3:Parent} }{
7 | $0
8 | }
9 | name
10 | interface
11 | scope
12 | source.java, source.groovy
13 | tabTrigger
14 | in
15 | uuid
16 | B8E49466-FCBE-4053-AEC3-4ABBE0FF2FEF
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Preferences/Folding - JSP.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Folding (JSP)
7 | scope
8 | text.html.jsp
9 | settings
10 |
11 | foldingStartMarker
12 | /\*\*|\{\s*$
13 | foldingStopMarker
14 | \*\*/|^\s*\}
15 |
16 | uuid
17 | 2C5379EE-F0E8-410F-8E5F-362D5A85FDEE
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Snippets/class.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | class ${1:${TM_FILENAME/(.*?)(\..+)/$1/}} ${2:extends ${3:Parent} }${4:implements ${5:Interface} }{
7 | $0
8 | }
9 | name
10 | class
11 | scope
12 | source.java, source.groovy
13 | tabTrigger
14 | cl
15 | uuid
16 | E9ED01EA-E83B-4322-BD9D-39C88FB8C237
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Preferences/Folding - Java.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Folding (Java)
7 | scope
8 | source.java
9 | settings
10 |
11 | foldingStartMarker
12 | (\{\s*(//.*)?$|^\s*// \{\{\{)
13 | foldingStopMarker
14 | ^\s*(\}|// \}\}\}$)
15 |
16 | uuid
17 | 6DF65B4B-D1A2-4B9C-9821-8B81EC3DA8FA
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Preferences/Folding - JUnit.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Folding (JUnit)
7 | scope
8 | text.junit-test-report
9 | settings
10 |
11 | foldingStartMarker
12 | (\{\s*(//.*)?$|^\s*// \{\{\{)
13 | foldingStopMarker
14 | ^\s*(\}|// \}\}\}$)
15 |
16 | uuid
17 | D542DC17-5A9E-4DDF-B825-EC5C04F847B4
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Preferences/Symbol List: Inner Classes.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Symbol List: Inner Classes
7 | scope
8 | source.java meta.class.body meta.class.identifier
9 | settings
10 |
11 | showInSymbolList
12 | 1
13 | symbolTransformation
14 | s/.*/ $0/g
15 |
16 | uuid
17 | 7A55A2BC-CD9D-4EBF-ABF4-3401AA64B7B3
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Preferences/Symbol List: Method.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Symbol List: Methods
7 | scope
8 | source.java meta.class.body meta.method.identifier
9 | settings
10 |
11 | showInSymbolList
12 | 1
13 | symbolTransformation
14 |
15 | s/\s{2,}/ /g;
16 | s/.*/ $0/g;
17 |
18 |
19 | uuid
20 | FA4CD3FA-A79B-43E3-A432-DA53DA4A060D
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Preferences/Symbol List: Inner Inner Classes.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Symbol List: Inner Inner Classes
7 | scope
8 | source.java meta.class.body meta.class.body meta.class.identifier
9 | settings
10 |
11 | showInSymbolList
12 | 1
13 | symbolTransformation
14 | s/.*/ $0/g
15 |
16 | uuid
17 | C80430E0-F37F-448F-ACAE-D590C96C4EAD
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Preferences/Symbol List: Inner Class Methods.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Symbol List: Inner Class Methods
7 | scope
8 | source.java meta.class.body meta.class.body meta.method.identifier
9 | settings
10 |
11 | showInSymbolList
12 | 1
13 | symbolTransformation
14 |
15 | s/\s{2,}/ /g;
16 | s/.*/ $0/g;
17 |
18 |
19 | uuid
20 | 11D7DA6F-1AE7-4BC7-BB5E-8DF05984FEEE
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Preferences/Symbol List: Inner Inner Class Methods.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Symbol List: Inner Inner Class Methods
7 | scope
8 | source.java meta.class.body meta.class.body meta.class.body meta.method.identifier
9 | settings
10 |
11 | showInSymbolList
12 | 1
13 | symbolTransformation
14 |
15 | s/\s{2,}/ /g;
16 | s/.*/ $0/g;
17 |
18 |
19 | uuid
20 | FD0CE2DC-6D44-4E22-B4E5-C47C57F5B677
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Preferences/Indentation Rules.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Indentation Rules
7 | scope
8 | source.java
9 | settings
10 |
11 | decreaseIndentPattern
12 | ^(.*\*/)?\s*\}|^\s*(public|private|protected):\s*$
13 | increaseIndentPattern
14 | ^.*\{(\}|[^}"']*)$|^\s*(public|private|protected):\s*$
15 | indentNextLinePattern
16 | ^(?!\s*@\w+(\(|\s*$)|(.*[};:])?\s*(//|/\*.*\*/\s*$)).*[^\s;:{}]\s*$
17 |
18 | uuid
19 | 20E93106-18CF-4BA3-9DA3-8F0C955DB774
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Preferences/Java Properties Comments.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Comments: Properties File
7 | scope
8 | source.java-properties
9 | settings
10 |
11 | shellVariables
12 |
13 |
14 | name
15 | TM_COMMENT_START
16 | value
17 | #
18 |
19 |
20 | name
21 | TM_COMMENT_START_2
22 | value
23 | !
24 |
25 |
26 |
27 | uuid
28 | CD9D5650-7188-498F-9305-1BA9D8D8D27F
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Preferences/Comments.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Comments
7 | scope
8 | source.java
9 | settings
10 |
11 | shellVariables
12 |
13 |
14 | name
15 | TM_COMMENT_START
16 | value
17 | //
18 |
19 |
20 | name
21 | TM_COMMENT_START_2
22 | value
23 | /*
24 |
25 |
26 | name
27 | TM_COMMENT_END_2
28 | value
29 | */
30 |
31 |
32 |
33 | uuid
34 | FBA964F9-EA31-44D1-A5FD-AE8AB3FF8954
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Support/bin/java_compile_and_run.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | : ${TM_JAVA:=java}
4 | : ${TM_JAVAC:=javac}
5 |
6 | if [ "$1" = "--version" ]
7 | then
8 | "$TM_JAVA" -version 2>&1 | head -1
9 | exit 0
10 | fi
11 |
12 | SOURCE="$1"
13 | shift
14 |
15 | output="$TMPDIR/tm_javamate.${TM_PID:-$LOGNAME}";
16 | mkdir -p "$output"
17 |
18 | PACKAGEDIR=${TM_JAVA_PACKAGE//./\/} # replace . with / in package
19 | SOURCEDIR=$(dirname "$SOURCE")
20 |
21 | cd "${SOURCEDIR%$PACKAGEDIR}" # Compile from root folder
22 |
23 | if [ -n "$TM_JAVA_FILEGLOB" ]; then
24 | "$TM_JAVAC" -d "$output" -encoding UTF8 $TM_JAVA_FILEGLOB; rc=$?;
25 | if (($rc >= 1)); then exit $rc; fi
26 | fi
27 |
28 | if [[ "$SOURCE" != $TM_JAVA_FILEGLOB ]]; then
29 | "$TM_JAVAC" -d "$output" -encoding UTF8 "$SOURCE"; rc=$?;
30 | if (($rc >= 1)); then exit $rc; fi
31 | fi
32 |
33 | CLASS=$(basename -s .java "$SOURCE")
34 | if [ "$TM_JAVA_PACKAGE" ]
35 | then
36 | CLASS="$TM_JAVA_PACKAGE.$CLASS"
37 | fi
38 |
39 | CLASSPATH="$output:$CLASSPATH" "$TM_JAVA" -Dfile.encoding=utf-8 "$CLASS" "$@";
40 | exit $?;
41 |
--------------------------------------------------------------------------------
/Tests/Numeric Literals.java:
--------------------------------------------------------------------------------
1 | // Integer
2 |
3 | foo = 0;
4 | foo = 123;
5 | foo = 123_456_789;
6 | foo = 123____456;
7 | foo = 0L;
8 | foo = 123L;
9 |
10 |
11 | // Floating-Point
12 |
13 | foo = 42.00;
14 | foo = 0.5;
15 | foo = .5;
16 | foo = 42f;
17 | foo = 3.59e0;
18 | foo = 3.59e-1701D;
19 |
20 |
21 | // Hexadecimal
22 |
23 | foo = 0x48454c5021;
24 | foo = 0x4927_4d;
25 | foo = 0x54_524150504544;
26 | foo = 0x494E;
27 | foo = 0x48455245L;
28 |
29 |
30 | // Octal
31 |
32 | foo = 3301_8;
33 | foo = 3301_8L;
34 |
35 |
36 | // Binary
37 |
38 | foo = 0b1;
39 | foo = 0b1;
40 | foo = 0b10;
41 | foo = 0b11;
42 | foo = 0b101;
43 | foo = 0b0001;
44 | foo = 0b1101;
45 |
46 |
47 | // Hexadecimal Floating-Point
48 |
49 | foo = 0x2.P1;
50 | foo = 0x1729p2;
51 | foo = 0x87539319P-3;
52 | foo = 0x6_963_472_309_248P+4;
53 |
54 |
55 | // Invalid
56 |
57 | foo = 08; // Zero can't start an integer
58 |
59 | foo = 42_.00F; // Underscore can't start or end number section
60 | foo = 42._00F;
61 | foo = _42;
62 | foo = 42_;
63 | foo = 042_;
64 | foo = 0x42_;
65 |
66 | foo = 123a; // Word boundary test
67 | foo = 3.59e-1701Da;
68 | foo = 0x1729p2a;
69 | foo = 0b1101a;
70 |
--------------------------------------------------------------------------------
/Commands/Copy Fully Qualified Class Name.tmCommand:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | beforeRunningCommand
6 | nop
7 | command
8 | #!/usr/bin/env ruby18 -w
9 | # Copies the fully qualified class name to the paste/clip board.
10 | # Used to add the class as an import.
11 | #
12 |
13 | package, class_name = nil, nil
14 | STDIN.each do |line|
15 | if line =~ /\s*package ([^;]+);/
16 | package = $1
17 | elsif !(line =~ /^\s*\/\*/) && line =~ /\b(?:class|interface|enum)\b ([A-Z][^ ]+) /
18 | class_name = $1
19 | end
20 |
21 | break if package && class_name
22 | end
23 |
24 | if package && class_name
25 | name = "#{package}.#{class_name}"
26 | IO.popen("pbcopy", "w") { |pb| pb.print name}
27 | puts "Copied '#{name}'"
28 | else
29 | puts 'Package and class name not found. Aborting.'
30 | end
31 |
32 | input
33 | document
34 | keyEquivalent
35 | @C
36 | name
37 | Copy Fully Qualified Class Name
38 | output
39 | showAsTooltip
40 | scope
41 | source.java
42 | uuid
43 | BED53D9E-7A4D-42A7-8A3F-E633973A6D14
44 |
45 |
46 |
--------------------------------------------------------------------------------
/Support/bin/javamate.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby18
2 |
3 | require ENV["TM_SUPPORT_PATH"] + "/lib/tm/executor"
4 | require ENV["TM_SUPPORT_PATH"] + "/lib/tm/save_current_document"
5 | require ENV["TM_SUPPORT_PATH"] + "/lib/ui"
6 | require "shellwords"
7 | require "pstore"
8 | require 'pathname'
9 |
10 | class JavaMatePrefs
11 | @@prefs = PStore.new(File.expand_path( "~/Library/Preferences/com.macromates.textmate.javamate"))
12 | def self.get(key)
13 | @@prefs.transaction { @@prefs[key] }
14 | end
15 | def self.set(key,value)
16 | @@prefs.transaction { @@prefs[key] = value }
17 | end
18 | end
19 |
20 | TextMate::Executor.make_project_master_current_document
21 |
22 | cmd = ["#{ENV['TM_BUNDLE_SUPPORT']}/bin/java_compile_and_run.sh"]
23 | cmd << ENV['TM_FILEPATH']
24 | script_args = []
25 | if ENV.include? 'TM_JAVAMATE_GET_ARGS'
26 | prev_args = JavaMatePrefs.get("prev_args")
27 | args = TextMate::UI.request_string(:title => "JavaMate", :prompt => "Enter any command line options:", :default => prev_args)
28 | JavaMatePrefs.set("prev_args", args)
29 | script_args = Shellwords.shellwords(args)
30 | end
31 | cwd = Pathname.new(Pathname.new(Dir.pwd).realpath)
32 |
33 | package = nil
34 | File.open(ENV['TM_FILEPATH'], "r") do |f|
35 | while (line = f.gets)
36 | if line =~ /^\s*package\s+([^\s;]+)/
37 | package = $1
38 | break
39 | end
40 | end
41 | end
42 |
43 | #cmd << package if package
44 | ENV["TM_JAVA_PACKAGE"] = package
45 |
46 | TextMate::Executor.run(cmd, :version_args => ["--version"], :script_args => script_args)
47 |
--------------------------------------------------------------------------------
/Commands/Compile & Run.tmCommand:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | beforeRunningCommand
6 | saveActiveFile
7 | command
8 | #!/bin/sh
9 | "$TM_BUNDLE_SUPPORT/bin/javamate.rb"
10 |
11 | input
12 | document
13 | inputFormat
14 | text
15 | keyEquivalent
16 | @r
17 | name
18 | Compile & Run
19 | outputCaret
20 | afterOutput
21 | outputFormat
22 | html
23 | outputLocation
24 | newWindow
25 | requiredCommands
26 |
27 |
28 | command
29 | java
30 | locations
31 |
32 | /usr/bin/java
33 |
34 | variable
35 | TM_JAVA
36 |
37 |
38 | command
39 | javac
40 | locations
41 |
42 | /usr/bin/javac
43 |
44 | variable
45 | TM_JAVAC
46 |
47 |
48 | scope
49 | source.java
50 | semanticClass
51 | process.build-and-run.java
52 | uuid
53 | 752A2A98-EB02-4A4D-A3D4-522485DBF491
54 | version
55 | 2
56 |
57 |
58 |
--------------------------------------------------------------------------------
/Commands/Compile & Run (with args).tmCommand:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | beforeRunningCommand
6 | saveActiveFile
7 | command
8 | #!/bin/sh
9 | TM_JAVAMATE_GET_ARGS=1 "$TM_BUNDLE_SUPPORT/bin/javamate.rb"
10 |
11 | input
12 | document
13 | inputFormat
14 | text
15 | keyEquivalent
16 | ~@r
17 | name
18 | Compile & Run (with args)
19 | outputCaret
20 | afterOutput
21 | outputFormat
22 | html
23 | outputLocation
24 | newWindow
25 | requiredCommands
26 |
27 |
28 | command
29 | java
30 | locations
31 |
32 | /usr/bin/java
33 |
34 | variable
35 | TM_JAVA
36 |
37 |
38 | command
39 | javac
40 | locations
41 |
42 | /usr/bin/javac
43 |
44 | variable
45 | TM_JAVAC
46 |
47 |
48 | scope
49 | source.java
50 | semanticClass
51 | process.build-and-run.java
52 | uuid
53 | 4BC99514-9BF7-4F4F-BD84-7AD07EB81AC3
54 | version
55 | 2
56 |
57 |
58 |
--------------------------------------------------------------------------------
/Commands/Go To Stackframe Source.tmCommand:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | beforeRunningCommand
6 | nop
7 | command
8 | #!/usr/bin/env ruby18
9 |
10 | require 'find'
11 | require ENV['TM_SUPPORT_PATH'] + '/lib/textmate'
12 |
13 | stackframe = gets
14 | if stackframe =~ /\((.+):(.+)\)$/
15 | file = $1
16 | line = $2
17 | base = ENV['TM_PROJECT_DIRECTORY'] || ENV['TM_DIRECTORY']
18 | filter = TextMate::ProjectFileFilter.new
19 |
20 | matches = []
21 | Find.find(base) do |path|
22 | if File.directory? path
23 | Find.prune if filter.skip? path
24 | elsif File.basename(path) == file
25 | matches << path
26 | end
27 | end
28 |
29 | matches = matches.reject { |path| filter.skip? path }
30 |
31 | if matches.empty?
32 | puts "Could not find ‘#{file}’ in project"
33 | else
34 | if matches.size == 1
35 | TextMate.go_to(:file => matches.first, :line => line)
36 | else
37 | puts "Found more than one file named ‘#{file}’"
38 | end
39 | end
40 | else
41 | puts "Stackframe does not contain a reference to source"
42 | end
43 | fallbackInput
44 | line
45 | input
46 | selection
47 | keyEquivalent
48 | ^~@
49 | name
50 | Go to Stackframe Source
51 | output
52 | showAsTooltip
53 | uuid
54 | 0642B880-F94F-4892-A761-AEF833C3B869
55 |
56 |
57 |
--------------------------------------------------------------------------------
/Commands/Create Package Declaration.tmCommand:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | beforeRunningCommand
6 | nop
7 | command
8 | #!/usr/bin/env ruby18 -w
9 | # Generates a package statement based on conventions for the name of the source directory.
10 | # If the root source folder name isn't matched either log a bug to get it added to the
11 | # default list or define an environment variable named TM_JAVA_SOURCE_FOLDER_REGEX with
12 | # a value of the regex to use to match folder names.
13 | #
14 |
15 | require ENV['TM_SUPPORT_PATH'] + '/lib/textmate'
16 |
17 | package = []
18 | package_regex = /^(src|tst)$/ # common source folder names
19 | package_regex = /^(#{ENV['TM_JAVA_SOURCE_FOLDER_REGEX']})$/ if ENV['TM_JAVA_SOURCE_FOLDER_REGEX']
20 | dir = ENV['TM_DIRECTORY'] || Dir.getwd
21 | dir.split(File::SEPARATOR).reverse.each do |folder|
22 | if folder !~ package_regex
23 | package << folder
24 | else
25 | break
26 | end
27 | end
28 |
29 | if !package.empty?
30 | puts "package #{package.reverse.join('.')};"
31 | end
32 | input
33 | none
34 | inputFormat
35 | text
36 | name
37 | Create Package Declaration
38 | outputCaret
39 | afterOutput
40 | outputFormat
41 | text
42 | outputLocation
43 | atCaret
44 | scope
45 | source.java
46 | tabTrigger
47 | pa
48 | uuid
49 | CBFE854E-917E-4ED5-BDBC-950C6B25B816
50 | version
51 | 2
52 |
53 |
54 |
--------------------------------------------------------------------------------
/README.mdown:
--------------------------------------------------------------------------------
1 | # Installation
2 |
3 | You can install this bundle in TextMate by opening the preferences and going to the bundles tab. After installation it will be automatically updated for you.
4 |
5 | # Settings
6 |
7 | If you have Java installed and TextMate does not find your JDK and shows the error message `No Java runtime present, requesting install`, you have to tell TextMate where to find the `java` and `javac` executables. Go to the *Preferences*, open the *Variables* section and add two entries using the `+` button: `TM_JAVA`, which points to your `java` executable and `TM_JAVAC`, which points to your `javac` executable. Example:
8 |
9 | | | Variable Name | Value |
10 | | - | -------------- | ----- |
11 | | :white_check_mark: | TM_JAVA | /Users/*«yourname»*/jdk1.8.0/bin/java |
12 | | :white_check_mark: | TM_JAVAC | /Users/*«yourname»*/jdk1.8.0/bin/javac |
13 |
14 | # General
15 |
16 | * [Bundle Styleguide](http://kb.textmate.org/bundle_styleguide) — _before you make changes_
17 | * [Commit Styleguide](http://kb.textmate.org/commit_styleguide) — _before you send a pull request_
18 | * [Writing Bug Reports](http://kb.textmate.org/writing_bug_reports) — _before you report an issue_
19 |
20 | # License
21 |
22 | If not otherwise specified (see below), files in this repository fall under the following license:
23 |
24 | Permission to copy, use, modify, sell and distribute this
25 | software is granted. This software is provided "as is" without
26 | express or implied warranty, and with no claim as to its
27 | suitability for any purpose.
28 |
29 | An exception is made for files in readable text which contain their own license information, or files where an accompanying file exists (in the same directory) with a “-license” suffix added to the base-name name of the original file, and an extension of txt, html, or similar. For example “tidy” is accompanied by “tidy-license.txt”.
--------------------------------------------------------------------------------
/Tests/Enums.java:
--------------------------------------------------------------------------------
1 | // http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html
2 |
3 | import java.util.*;
4 |
5 | public class Card {
6 | public enum Rank { DEUCE, THREE, FOUR, FIVE, SIX,
7 | SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE }
8 |
9 | public enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES }
10 |
11 | private final Rank rank;
12 | private final Suit suit;
13 | private Card(Rank rank, Suit suit) {
14 | this.rank = rank;
15 | this.suit = suit;
16 | }
17 |
18 | public Rank rank() { return rank; }
19 | public Suit suit() { return suit; }
20 | public String toString() { return rank + " of " + suit; }
21 |
22 | private static final List protoDeck = new ArrayList();
23 |
24 | // Initialize prototype deck
25 | static {
26 | for (Suit suit : Suit.values())
27 | for (Rank rank : Rank.values())
28 | protoDeck.add(new Card(rank, suit));
29 | }
30 |
31 | public static ArrayList newDeck() {
32 | return new ArrayList(protoDeck); // Return copy of prototype deck
33 | }
34 | }
35 |
36 | public enum Planet {
37 | MERCURY (3.303e+23, 2.4397e6),
38 | VENUS (4.869e+24, 6.0518e6),
39 | EARTH (5.976e+24, 6.37814e6),
40 | MARS (6.421e+23, 3.3972e6),
41 | JUPITER (1.9e+27, 7.1492e7),
42 | SATURN (5.688e+26, 6.0268e7),
43 | URANUS (8.686e+25, 2.5559e7),
44 | NEPTUNE (1.024e+26, 2.4746e7),
45 | PLUTO (1.27e+22, 1.137e6);
46 |
47 | private final double mass; // in kilograms
48 | private final double radius; // in meters
49 | Planet(double mass, double radius) {
50 | this.mass = mass;
51 | this.radius = radius;
52 | }
53 | public double mass() { return mass; }
54 | public double radius() { return radius; }
55 |
56 | // universal gravitational constant (m3 kg-1 s-2)
57 | public static final double G = 6.67300E-11;
58 |
59 | public double surfaceGravity() {
60 | return G * mass / (radius * radius);
61 | }
62 | public double surfaceWeight(double otherMass) {
63 | return otherMass * surfaceGravity();
64 | }
65 | }
66 |
67 | public enum Operation {
68 | PLUS { double eval(double x, double y) { return x + y; } },
69 | MINUS { double eval(double x, double y) { return x - y; } },
70 | TIMES { double eval(double x, double y) { return x * y; } },
71 | DIVIDE { double eval(double x, double y) { return x / y; } };
72 |
73 | // Do arithmetic op represented by this constant
74 | abstract double eval(double x, double y);
75 | }
--------------------------------------------------------------------------------
/Commands/Documentation For Word.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | beforeRunningCommand
6 | nop
7 | command
8 | #!/usr/bin/env bash
9 | [[ -f "${TM_SUPPORT_PATH}/lib/bash_init.sh" ]] && . "${TM_SUPPORT_PATH}/lib/bash_init.sh"
10 |
11 | echo "<!-- gotAPI.com search widget v2 begin -->
12 | <body onload=\"init();\">
13 | <DIV>
14 | <STYLE>
15 | .gaMenu{border:1px solid #505050;background-color:#FAFAFA;padding:0px 5px 0px 5px;}
16 | .gaHeaderRow{font:bold 8pt Arial;color:#359155;border-top:1px solid #C0C0C0;width:250px;}
17 | .gaRegularRow,.gaFooterRow{font:8pt Arial;cursor:pointer;}
18 | .gaSelectedRow{font:8pt Arial;background-color:#c1e0e6;cursor:pointer;}
19 | </STYLE>
20 | <SCRIPT><!--
21 | gaMod='module_java15noui.js';gaTitle='J2SE v1.5 less UI';updateWhenLoaded=false;
22 | var gaL=false;function gaInit(){if(gaL)return;gaL=true;var s=document.createElement('script');
23 | s.type='text/javascript';s.src='http://www.gotapi.com/widgets/compiled/c1_module_java15noui.js.jsz';s.defer='defer';s.defered='yes';
24 | document.getElementById('gaInfo').parentNode.appendChild(s)}function gaSearching(){
25 | document.getElementById('gaWait').style.display='';updateWhenLoaded=true;
26 | document.getElementById('gaInfo').style.display='none'}
27 | //-->
28 | </SCRIPT>
29 | <DIV style='font:bold 10pt Arial'>Quick J2SE v1.5 less UI lookup</DIV>
30 | <INPUT id=gaSearch size=20 onfocus=\"gaInit()\" onkeydown=\"gaSearching()\">
31 | <DIV id=gaInfo style='font:7pt Arial'>powered by <A href='http://www.gotapi.com' style='padding:0px'>gotAPI.com</A></DIV>
32 | <DIV id=gaWait style='font:7pt Arial;display:none'>Searching...</DIV>
33 | </DIV>
34 | </body>
35 | <!-- gotAPI.com search widget v2 end -->"
36 |
37 | if [ $TM_CURRENT_WORD ]
38 | then
39 | echo "<script>function init() { document.getElementById('gaSearch').value = '$TM_CURRENT_WORD'; document.getElementById('gaSearch').focus(); gaSearching(); }</script>"
40 | fi
41 | input
42 | none
43 | inputFormat
44 | text
45 | keyEquivalent
46 | ^h
47 | name
48 | Documentation For Word
49 | outputCaret
50 | afterOutput
51 | outputFormat
52 | html
53 | outputLocation
54 | newWindow
55 | scope
56 | source.java
57 | semanticClass
58 | lookup.define.java
59 | uuid
60 | CE007C8C-9A0B-43B8-AEAF-45613BCD3DF7
61 | version
62 | 2
63 |
64 |
65 |
--------------------------------------------------------------------------------
/Tests/Test.java:
--------------------------------------------------------------------------------
1 | import com.foo.*;
2 | import com.bar.*; // comment
3 | import com.baz.*;
4 |
5 | /** class foo */
6 |
7 | public class Foo
8 | {
9 | void bar(Object baz)
10 | {
11 | throw new RuntimeException(baz.toString() + "; void");
12 | }
13 | }
14 |
15 | public class Hello
16 | {
17 | void method(Integer integer) {}
18 | void method(INTEGER integer) {}
19 |
20 | private static final int ID = 0;
21 | ID id = new ID();
22 | Id id = new Id();
23 |
24 | }
25 |
26 | class Foo // bar
27 | {
28 | }
29 |
30 | class Foo /* bar */
31 | {
32 | }
33 |
34 | interface Foo // bar
35 | {
36 | }
37 |
38 | interface Foo /* bar */
39 | {
40 | }
41 |
42 | class Foo
43 | {
44 | }
45 |
46 | class Foo extends Bar // bar
47 | {
48 | }
49 |
50 | class Foo extends Bar /* bar */
51 | {
52 | }
53 |
54 | class Foo extends Bar implements Bat // bar
55 | {
56 | }
57 |
58 | class Foo extends Bar implements Bat /* bar */
59 | {
60 | }
61 |
62 | class Foo implements Bar // bar
63 | {
64 | }
65 |
66 | class Foo implements Bar /* bar */
67 | {
68 | }
69 |
70 | interface Foo extends Bar // bar
71 | {
72 | }
73 |
74 | interface Foo extends Bar /* bar */
75 | {
76 | Value> get();
77 | }
78 |
79 | class Assertion
80 | {
81 | assert 1 = 1 : "Failure message";
82 | assert 1 = 1;
83 | }
84 |
85 | class AnonymousClassExample {
86 | public Object m() {
87 | return new Object() { /* meta.anon-class.java */ };
88 | }
89 | public class Inner {
90 | void method() throws {
91 |
92 | }
93 |
94 | }
95 | }
96 |
97 | public class Ticket3D1E429A
98 | {
99 | public static void main(String[] args)
100 | {
101 | System.out.println(" Java: " + profiler.profileJava(new ArrayList(), new Random(seed)));
102 | }
103 | }
104 |
105 | public class Foo
106 | {
107 | public void bar() {
108 | Int[] int1 = new Int[10] {1,2,3};
109 | Int[] int2 = new Int[10];
110 | }
111 |
112 | void method( )
113 | {
114 | method(new Integer[334]);
115 | }
116 |
117 | void method2() {
118 | // make sure this is shown as method2 in the symbol list
119 | }
120 |
121 | }
122 |
123 | public class ImplementsOverMultipleLines
124 | implements Bar,
125 | Baz
126 | {
127 | }
128 |
129 | class Foo {
130 | private java.util.List bar;
131 | }
132 |
133 | class Foo
134 | {
135 | void bar()
136 | {
137 | System.out.println("class name");
138 | }
139 | }
140 |
141 | class Ta {
142 | /**
143 | *
144 | */
145 | private native void setInitValues(long modelPtr, double n1,
146 | double n2,
147 | double p2,
148 | double p26,
149 | double p3,
150 | double wf,
151 | double t44);
152 | }
153 |
154 | class NativeAndAbstractMethods {
155 | private abstract long InitModel();
156 | private native void Step(long modelPtr, int iterationsPerStep);
157 | private native void Term(long modelPtr);
158 | private native void setValue(long modelPtr, String Key, double
159 | Value);
160 | private native double getValue(long modelPtr, String Key);
161 | private native void setInitValues(long modelPtr, double n1, double
162 | n2, double
163 | p2, double p26, double p3, double wf, double t44);
164 | }
--------------------------------------------------------------------------------
/Syntaxes/JUnit Test Report.tmLanguage:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | firstLineMatch
6 | ^Testsuite:
7 | keyEquivalent
8 | ^~J
9 | name
10 | JUnit Test Report
11 | patterns
12 |
13 |
14 | captures
15 |
16 | 1
17 |
18 | name
19 | meta.testsuite.label.junit-test-report
20 |
21 | 2
22 |
23 | name
24 | entity.name.testsuite.junit-test-report
25 |
26 |
27 | match
28 | (Testsuite:) (.+)$\n
29 | name
30 | meta.testsuite.name.junit-test-report
31 |
32 |
33 | captures
34 |
35 | 1
36 |
37 | name
38 | meta.testcase.label.junit-test-report
39 |
40 | 2
41 |
42 | name
43 | entity.name.testcase.junit-test-report
44 |
45 |
46 | match
47 | (Testcase:) (.+) took ([\d\.]+) sec$\n
48 | name
49 | meta.testcase.name.junit-test-report
50 |
51 |
52 | begin
53 | at\s+(?=.+?\(.+?\)$)
54 | end
55 | $\n
56 | name
57 | meta.stackframe.junit-test-report
58 | patterns
59 |
60 |
61 | match
62 | (?<=\.)[^\.]+?(?=\()
63 | name
64 | meta.stackframe.method.junit-test-report
65 |
66 |
67 | captures
68 |
69 | 1
70 |
71 | name
72 | meta.stackframe.source.junit-test-report
73 |
74 | 3
75 |
76 | name
77 | meta.stackframe.source.line.junit-test-report
78 |
79 |
80 | match
81 | \((.+)(:)(.+)\)$
82 |
83 |
84 |
85 |
86 | begin
87 | ------------- Standard Output ---------------$\n
88 | end
89 | ------------- ---------------- ---------------$\n
90 | name
91 | meta.section.output.junit-test-report
92 | patterns
93 |
94 |
95 | begin
96 | --Output from (.+?)--$\n
97 | beginCaptures
98 |
99 | 1
100 |
101 | name
102 | entity.name.testcase.junit-test-report
103 |
104 |
105 | contentName
106 | meta.output.content.junit-test-report
107 | end
108 | (?=--Output from|------------- ---------------- ---------------)
109 | name
110 | meta.output.junit-test-report
111 |
112 |
113 |
114 |
115 | begin
116 | ------------- Standard Error -----------------$\n
117 | contentName
118 | meta.error.junit-test-report
119 | end
120 | ------------- ---------------- ---------------$\n
121 | name
122 | meta.section.error.junit-test-report
123 | patterns
124 |
125 |
126 | begin
127 | --Output from (.+?)--$\n
128 | beginCaptures
129 |
130 | 1
131 |
132 | name
133 | entity.name.testcase.junit-test-report
134 |
135 |
136 | contentName
137 | meta.error.content.junit-test-report
138 | end
139 | (?=--Output from|------------- ---------------- ---------------)
140 | name
141 | meta.error.junit-test-report
142 |
143 |
144 |
145 |
146 | scopeName
147 | text.junit-test-report
148 | uuid
149 | 6F20804D-4BF2-42A7-BC64-A8CD83B7DE0F
150 |
151 |
152 |
--------------------------------------------------------------------------------
/Syntaxes/JavaProperties.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | fileTypes
6 |
7 | properties
8 |
9 | foldingStartMarker
10 | ^[a-zA-Z0-9.-_]+=.*\
11 |
12 | foldingStopMarker
13 | ^(.*(?<!\)
14 | )
15 | keyEquivalent
16 | ^~J
17 | name
18 | Java Properties
19 | patterns
20 |
21 |
22 | comment
23 | Ignore blank lines
24 | match
25 | ^\s*$
26 |
27 |
28 | include
29 | #comment-line
30 |
31 |
32 | include
33 | #property-name
34 |
35 |
36 | include
37 | #property-definition
38 |
39 |
40 | repository
41 |
42 | comment-line
43 |
44 | captures
45 |
46 | 1
47 |
48 | name
49 | punctuation.whitespace.comment.leading.java-properties
50 |
51 | 2
52 |
53 | name
54 | punctuation.definition.comment.java-properties
55 |
56 |
57 | match
58 | ^(\s*)([#!])(.+)?$\n?
59 | name
60 | comment.line.java-properties
61 |
62 | property-definition
63 |
64 | begin
65 | ^(\s*)((?:\\[ \t]|\\:|\\=|[^:=\s])+)(?:\s*([:=]))?\s*
66 | beginCaptures
67 |
68 | 1
69 |
70 | name
71 | punctuation.whitespace.leading.java-properties
72 |
73 | 2
74 |
75 | name
76 | support.constant.java-properties
77 | patterns
78 |
79 |
80 | match
81 | \\(?:[ \t:=\\ntfr\"']|u[0-9A-Fa-f]{4})
82 | name
83 | constant.character.escape.java-properties
84 |
85 |
86 |
87 | 3
88 |
89 | name
90 | punctuation.separator.key-value.java-properties
91 |
92 |
93 | contentName
94 | string.unquoted.java-properties
95 | end
96 | (?<!\\{1})$\n
97 | name
98 | meta.key-value.java-properties
99 | patterns
100 |
101 |
102 | comment
103 | Leading space on a continued line is ignored
104 | match
105 | ^\s*
106 | name
107 | punctuation.whitespace.leading.java-properties
108 |
109 |
110 | match
111 | (\\{1})(?=$\n)
112 | name
113 | punctuation.separator.continuation.java-properties
114 |
115 |
116 | match
117 | \\(?:[\\ntfr\"']|u[0-9A-Fa-f]{4})
118 | name
119 | constant.character.escape.java-properties
120 |
121 |
122 |
123 | property-name
124 |
125 | captures
126 |
127 | 1
128 |
129 | name
130 | punctuation.whitespace.comment.leading.java-properties
131 |
132 | 2
133 |
134 | name
135 | support.constant.java-properties
136 | patterns
137 |
138 |
139 | match
140 | \\(?:[ \t:=\\ntfr\"']|u[0-9A-Fa-f]{4})
141 | name
142 | constant.character.escape.java-properties
143 |
144 |
145 |
146 |
147 | comment
148 | A property name with no value
149 | match
150 | ^(\s*)((?:\\[ \t]|\\:|\\=|[^:=\s])+)(?:\s*([:=]))?\s*$\n
151 | name
152 | meta.key-value.java-properties
153 |
154 |
155 | scopeName
156 | source.java-properties
157 | uuid
158 | D364E829-7643-4AFF-948D-3C0D6B4EA8A4
159 |
160 |
161 |
--------------------------------------------------------------------------------
/Commands/Organize Imports.tmCommand:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | beforeRunningCommand
6 | saveActiveFile
7 | command
8 | #!/usr/bin/env ruby18 -w
9 | #
10 | # WARNING: This script modifies the source of your file!!! No one but
11 | # yourself is responsible for it losing code.
12 | #
13 | # Provides an Eclipse like Organize Imports except it can't
14 | # add imports. It cleans up the list by filtering out unused
15 | # imports and alphabetizing the used.
16 | #
17 | # * alphabetizes imports placing java.* and javax.* before others.
18 | # * removes unused imports.
19 | # * maintains any "package.*;" imports and static imports
20 | # * supports class names starting with lowercase characters (legacy code)
21 | #
22 | # TODO add proper support for /* */ comments. Since these can be part of the line we can't ignore these lines
23 |
24 | before, imports, after, all = [], [], [], []
25 |
26 | class_defined = false
27 |
28 | STDIN.each do |line|
29 | all << line
30 |
31 | if line =~ / (class|(@)?interface) / && !(line =~ %r{^\s*(//|\*)})
32 | class_defined = true
33 |
34 | after << line
35 | elsif line =~ /\s*^import /
36 | imports << line.strip
37 | elsif imports.empty? && !class_defined
38 | before << line
39 | elsif !imports.empty? && after.empty?
40 | # remove empty lines after the imports and before anything else
41 | after << line unless line.strip.empty?
42 | elsif
43 | after << line
44 | end
45 | end
46 |
47 | if imports.empty?
48 | # if there are no imports just output the original lines and exit
49 | all.each { |line| puts line }
50 | exit 0
51 | end
52 |
53 | classes = {}
54 | imports.each do |import|
55 | import.scan(/\s*import\s+([A-Za-z0-9.]+)\.([a-zA-Z0-9]+);/) do |package, name|
56 | classes[name] = { :package => package }
57 | end
58 | end
59 |
60 | after.each do |line|
61 | next if line =~ %r{^\s*(//|/\*|\*)} #comments
62 |
63 | # Attempt to find all classes in the file. This is loose in that it
64 | # accepts words with lowercase letters and identifies them as classes. This is OK
65 | # since it won't add imports, it's only used to determine if an existing import
66 | # is valid.
67 | line.scan(/\b([A-Za-z]\w*)(\b|\.)/) do |name, boundary|
68 | classes[name][:used] = 1 if classes[name]
69 | end
70 | end
71 |
72 | # Based upon the classes found in the file determine the used imports
73 | non_static_imports, static_imports = [], []
74 | classes.each_pair do |name, class_info|
75 | if class_info[:used]
76 | non_static_imports << "import #{class_info[:package]}.#{name};"
77 | end
78 | end
79 |
80 | # Include any .* imports and static imports since they can't be validated
81 | imports.each do |import|
82 | if import =~ /^import static/
83 | static_imports << import
84 | elsif import =~ /\.\*\s*;/
85 | non_static_imports << import
86 | end
87 | end
88 |
89 | # create section comprised of the import lines attempting to remove duplicate empty lines
90 | last_line_was_empty, import_lines = before.last.strip.empty?, []
91 |
92 | unless static_imports.empty?
93 | import_lines << '' unless last_line_was_empty
94 | import_lines.push(*static_imports.uniq)
95 | last_line_was_empty = false
96 | end
97 |
98 | # Sort according to the default eclipse sort.
99 | sort_order = [
100 | [/^import /, 4], # everything else
101 | [/^import com\./, 3],
102 | [/^import org\./, 2],
103 | [/^import javax\./, 1],
104 | [/^import java\./, 0],
105 | ]
106 |
107 | sorted = non_static_imports.uniq.sort do |a, b|
108 | a_group, b_group = sort_order[0][1], sort_order[0][1]
109 |
110 | sort_order.each do |x|
111 | a_group = x[1] if (a.match(x[0]))
112 | b_group = x[1] if (b.match(x[0]))
113 | end
114 |
115 | if a_group != b_group
116 | # sort by group
117 | result = a_group <=> b_group
118 | else
119 | # in the same group, sort by text
120 | result = a <=> b
121 | end
122 |
123 | result
124 | end
125 |
126 | cur_regex = nil
127 |
128 | [[""], sorted, [""]].flatten.each do |line|
129 | next if last_line_was_empty && line.strip.empty? # prevent multiple empty lines
130 |
131 | old_regex = cur_regex
132 | sort_order.each do |x|
133 | cur_regex = x[0] if (line.match(x[0]))
134 | end
135 | import_lines << '' if old_regex && cur_regex && old_regex != cur_regex
136 |
137 | last_line_was_empty = line.strip.empty?
138 | import_lines << line
139 | end
140 |
141 | [before, import_lines, after].flatten.each do |line|
142 | puts line
143 | end
144 |
145 | input
146 | selection
147 | keyEquivalent
148 | ^#
149 | name
150 | Organize Imports
151 | output
152 | replaceSelectedText
153 | scope
154 | source.java
155 | uuid
156 | E330E2EF-0057-4920-9364-01604C67E664
157 |
158 |
159 |
--------------------------------------------------------------------------------
/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | contactEmailRot13
6 | yq@yqnyrl.pbz
7 | contactName
8 | Luke Daley
9 | description
10 | A bundle for the <a href="http://java.sun.com/">Java</a> programming language.
11 | mainMenu
12 |
13 | items
14 |
15 | 752A2A98-EB02-4A4D-A3D4-522485DBF491
16 | 4BC99514-9BF7-4F4F-BD84-7AD07EB81AC3
17 | ------------------------------------
18 | BED53D9E-7A4D-42A7-8A3F-E633973A6D14
19 | E330E2EF-0057-4920-9364-01604C67E664
20 | 0642B880-F94F-4892-A761-AEF833C3B869
21 | ------------------------------------
22 | CE007C8C-9A0B-43B8-AEAF-45613BCD3DF7
23 | ------------------------------------
24 | 5F390B93-6A28-4EED-B04A-D213640B9DAF
25 | DFD7AE0D-D5CC-4FFF-B37D-EA7ACC8E34DF
26 | ------------------------------------
27 | 9EDF163F-3AB5-4FB5-90CD-DBE38005D082
28 | 94F55660-EB8B-49FE-BF82-56ACC0A5DDD2
29 | FA8BC93C-87AC-4E8D-A1A8-30E22436C874
30 | DED2BA05-B4E1-4400-B3D5-974C7066F250
31 | D7ED7C3F-23D8-4891-A319-B85727972BC2
32 | 29291A56-4B10-4072-95B0-44FDB81B5669
33 |
34 | submenus
35 |
36 | 29291A56-4B10-4072-95B0-44FDB81B5669
37 |
38 | items
39 |
40 | D3D659F5-5318-4D0A-85E2-9A03902A1668
41 | 8B285F69-5A6A-46B4-BB31-B5F10DCB5719
42 | ------------------------------------
43 | D8E7B79D-ADEC-437D-BFDE-F20D5362D892
44 |
45 | name
46 | Testing
47 |
48 | 94F55660-EB8B-49FE-BF82-56ACC0A5DDD2
49 |
50 | items
51 |
52 | CBFE854E-917E-4ED5-BDBC-950C6B25B816
53 | ------------------------------------
54 | E9ED01EA-E83B-4322-BD9D-39C88FB8C237
55 | B8E49466-FCBE-4053-AEC3-4ABBE0FF2FEF
56 | 16D51B5E-56BC-4ED0-84FB-FCC68479BE8E
57 | 90A0278A-56B2-465B-B629-A01DF6524FEA
58 | ------------------------------------
59 | 3621828B-39DB-4B56-8300-DD5C76333868
60 | 8CD02FE6-B5EE-4335-AFDF-7CC02C969563
61 | 4876099F-502E-471F-9D0D-916C7EF2E353
62 |
63 | name
64 | Constructs
65 |
66 | 9EDF163F-3AB5-4FB5-90CD-DBE38005D082
67 |
68 | items
69 |
70 | BD7A6DBE-0180-4E1A-A428-14D44BD88F88
71 | 56C938B4-22B8-45F4-8E09-5BB4DE4633B0
72 | 8E765795-CC9D-46D7-8602-7E2DBB7026B2
73 | ------------------------------------
74 | C0525A43-EEF4-4F59-AC09-84D263888433
75 | F53E8BF9-4911-4131-B31F-8B4DEE47E421
76 | ------------------------------------
77 | E54D7A3C-107A-426E-91E8-D066A978BC5E
78 |
79 | name
80 | Modifiers
81 |
82 | D7ED7C3F-23D8-4891-A319-B85727972BC2
83 |
84 | items
85 |
86 | 97DC6637-998E-493C-9765-C8CFB29AC18C
87 | 2887D1D3-A714-41B6-9211-4DEC12417889
88 | 5EEDE297-9489-41C8-A7AF-BDB5EABEF41F
89 | 94C09B88-AC93-4045-86D1-206639D582D0
90 | 592F2823-7A2B-4881-99A4-7A18D3623902
91 |
92 | name
93 | Common Packages
94 |
95 | DED2BA05-B4E1-4400-B3D5-974C7066F250
96 |
97 | items
98 |
99 | F2C18E05-A7E7-4898-8CB5-CC7E6020AAFE
100 | 097F4236-D7A4-412F-A078-11ABFCAFC7BA
101 | 96251D07-2F30-4610-9F0F-65DE730CC0B5
102 | A30E90E6-FFBF-4899-AB97-7CAA00D0B824
103 |
104 | name
105 | Directives
106 |
107 | FA8BC93C-87AC-4E8D-A1A8-30E22436C874
108 |
109 | items
110 |
111 | 476E26EB-5A53-45B3-A497-B22B12815C7F
112 | 5A7786EE-5F23-422E-A6EC-69778ED7C8FC
113 | 4C07C9CB-4306-417B-B152-653E93C987B5
114 | ------------------------------------
115 | BF745BD9-E345-4CFB-82B1-2CC2195BEFA8
116 | ------------------------------------
117 | 755B1EB0-934C-49C6-AD08-B461C2205C46
118 | BC9380F7-43F1-4304-91CD-4C490B0A6037
119 | 8B84EAD3-F93D-407A-8BB1-4FEF8B0C71D7
120 | ------------------------------------
121 | 7FB7C9A7-08BB-410F-B012-40D99ED8A60E
122 | CE3059F1-EBFE-426B-A98A-7D935580F915
123 | 2556E4C9-353C-4D34-A48D-7718A3739F40
124 | F0C15D98-790E-4755-A04E-B8903D50F5C6
125 | E0D61777-04FC-416F-82A7-7B54C446A00B
126 | ------------------------------------
127 | 2D2F53B7-E41C-4AEE-8A5E-2A5BB7B42E65
128 | 7396532C-3567-4BDA-9C10-51454A2F2F6D
129 | E4DACBFB-F029-4EC3-BB0D-BEF0D5369DA7
130 | F050CAEB-56AB-40A7-846B-E5DB70FA0A90
131 |
132 | name
133 | Control
134 |
135 |
136 |
137 | name
138 | Java
139 | uuid
140 | 4677FEB2-6227-11D9-BFB1-000D93589AF6
141 |
142 |
143 |
--------------------------------------------------------------------------------
/Tests/Test.jsp:
--------------------------------------------------------------------------------
1 | <%= expression to be printet %>
2 |
3 | <%--
4 | Block Comment
5 | --%>
6 |
7 | <%
8 | // some scriptlet code
9 | String name = request.getParameter("name");
10 | if (name != null) {
11 | %>
12 | <%= name %>
13 | <%
14 | } else {
15 | %>
16 | Error!
17 |
18 | <%
19 | }
20 | %>
21 |
22 |
23 |
24 |
25 | <%!
26 | String test = "hej med dig";
27 | int i = 10;
28 | %>
29 |
30 | <%!
31 | public class Test {
32 | private String testerString;
33 |
34 | public Test(String test){
35 | testerString = test;
36 | }
37 |
38 | public void getTest() {
39 | return this.testerString;
40 | }
41 |
42 | }
43 | %>
44 |
45 | <%@ page import="java.util.*, java.lang.*" %>
46 | <%@ page buffer="5kb" autoFlush="false" %>
47 | <%@ page errorPage="error.jsp" %>
48 | <%@ include file="relativeURL" %>
49 | <%@ taglib uri="URIToTagLibrary" prefix="somePrefix" %>
50 |
51 |
52 | String test = "blah";
53 |
54 |
55 | if (test.equals("blah")) {
56 |
57 |
58 | "expression to be printet: " + test
59 |
60 |
61 | }
62 |
63 |
64 | <%@ page language="java" %>
65 | <%@ page contentType="text/html;charset=ISO-8859-1" %>
66 | <%@ page import="java.util.*"%>
67 | <%@ page import="java.lang.*"%>
68 |
69 | <%@ taglib uri="/WEB-INF/escenic-util.tld" prefix="util" %>
70 | <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
71 | <%@ taglib uri="/WEB-INF/jppol-mail.tld" prefix="mail" %>
72 |
73 |
74 |
75 |
76 |
77 | <%!
78 | String exampleString = "blah: ";
79 | %>
80 |
81 | <%-- This comment is ok --%>
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 | <%
91 | String codeName = request.getAttribute("attribute_1");
92 | if (codeName.equals("test_1"))) {
93 | // HERE: this is not source.java scope for some reason
94 | }
95 | if (request.getAttribute("configErrorString") != null) {
96 | configErrorString = (String) request.getAttribute("configErrorString");
97 | }
98 | if (request.getAttribute("foundConfigError") != null) {
99 | Boolean blnObj = (Boolean) request.getAttribute("foundConfigError");
100 | foundConfigError = blnObj.booleanValue();
101 | }
102 |
103 | if (!foundConfigError && request.getParameter("mail_send") != null) {
104 |
105 | response.setContentType("text/javascript");
106 |
107 | String senderName = request.getParameter("mail_sender_name");
108 | String senderEmail = request.getParameter("mail_sender_email");
109 | String senderText = request.getParameter("mail_sender_text");
110 |
111 | JSONObject responseObj = new JSONObject();
112 | String errorStr = "";
113 |
114 | if (!configParametersMap.get("require_name").equals("false") && (senderName == null || senderName.equals("") || senderName.equals("Dit navn"))) errorStr += configParametersMap.get("error_name") + "\n";
115 | if (!configParametersMap.get("require_email").equals("false") && (senderEmail == null || senderEmail.equals("") || senderEmail.equals("Din email"))) errorStr += configParametersMap.get("error_email") + "\n";
116 | if (senderText == null || senderText.equals("") || senderText.equals("Din besked")) errorStr += configParametersMap.get("error_message");
117 |
118 | if (errorStr.equals("")) {
119 | %>
120 |
121 | <%= configParametersMap.get("to") %>
122 | <%= configParametersMap.get("from") %>
123 | <%= configParametersMap.get("subject") %>
124 | <%= "Afsenders navn: " + senderName + "\n\nAfsender email: " + senderEmail + "\n\nIndhold:\n\n" + senderText %>
125 |
126 | <%
127 | responseObj.put("status", true);
128 | } else {
129 | responseObj.put("status", false);
130 | responseObj.put("error", errorStr);
131 | }
132 |
133 | out.print(responseObj);
134 |
135 | } else if (!foundConfigError) { %>
136 |
179 | <%-- comment not working --%>
180 | ">
181 |
182 |
183 |
184 | - <%= configParametersMap.get("title") %> HERE : The preceding does never enter the source.java scope.
185 |
186 |
187 |
188 |
189 |
198 |
199 |
200 |
201 | <% } else { %>
202 |
203 | WHAT:::<%=configErrorString %>
204 |
205 | <% } %>
206 | <% if (false) { %>
207 |
208 | <% String test = hello; // HERE: i can comment out end signs %>
209 | %>
210 |
211 |
212 | <%-- HERE: This should be captured as a comment --%>
213 |
214 | <%= configParametersMap.get("to") %>
215 | <%= configParametersMap.get("from") %>
216 | <%= configParametersMap.get("subject") %>
217 | Dette er en test
218 |
219 | <% } %>
--------------------------------------------------------------------------------
/Syntaxes/Java.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | fileTypes
6 |
7 | java
8 | bsh
9 |
10 | keyEquivalent
11 | ^~J
12 | name
13 | Java
14 | patterns
15 |
16 |
17 | captures
18 |
19 | 1
20 |
21 | name
22 | keyword.other.package.java
23 |
24 | 2
25 |
26 | name
27 | storage.modifier.package.java
28 |
29 | 3
30 |
31 | name
32 | punctuation.terminator.java
33 |
34 |
35 | match
36 | ^\s*(package)\b(?:\s*([^ ;$]+)\s*(;)?)?
37 | name
38 | meta.package.java
39 |
40 |
41 | begin
42 | (import static)\b\s*
43 | beginCaptures
44 |
45 | 1
46 |
47 | name
48 | keyword.other.import.static.java
49 |
50 |
51 | captures
52 |
53 | 1
54 |
55 | name
56 | keyword.other.import.java
57 |
58 | 2
59 |
60 | name
61 | storage.modifier.import.java
62 |
63 | 3
64 |
65 | name
66 | punctuation.terminator.java
67 |
68 |
69 | contentName
70 | storage.modifier.import.java
71 | end
72 | \s*(?:$|(;))
73 | endCaptures
74 |
75 | 1
76 |
77 | name
78 | punctuation.terminator.java
79 |
80 |
81 | name
82 | meta.import.java
83 | patterns
84 |
85 |
86 | match
87 | \.
88 | name
89 | punctuation.separator.java
90 |
91 |
92 | match
93 | \s
94 | name
95 | invalid.illegal.character_not_allowed_here.java
96 |
97 |
98 |
99 |
100 | begin
101 | (import)\b\s*
102 | beginCaptures
103 |
104 | 1
105 |
106 | name
107 | keyword.other.import.java
108 |
109 |
110 | captures
111 |
112 | 1
113 |
114 | name
115 | keyword.other.import.java
116 |
117 | 2
118 |
119 | name
120 | storage.modifier.import.java
121 |
122 | 3
123 |
124 | name
125 | punctuation.terminator.java
126 |
127 |
128 | contentName
129 | storage.modifier.import.java
130 | end
131 | \s*(?:$|(;))
132 | endCaptures
133 |
134 | 1
135 |
136 | name
137 | punctuation.terminator.java
138 |
139 |
140 | name
141 | meta.import.java
142 | patterns
143 |
144 |
145 | match
146 | \.
147 | name
148 | punctuation.separator.java
149 |
150 |
151 | match
152 | \s
153 | name
154 | invalid.illegal.character_not_allowed_here.java
155 |
156 |
157 |
158 |
159 | include
160 | #code
161 |
162 |
163 | repository
164 |
165 | all-types
166 |
167 | patterns
168 |
169 |
170 | include
171 | #primitive-arrays
172 |
173 |
174 | include
175 | #primitive-types
176 |
177 |
178 | include
179 | #object-types
180 |
181 |
182 |
183 | annotations
184 |
185 | patterns
186 |
187 |
188 | begin
189 | (@[^ (]+)(\()
190 | beginCaptures
191 |
192 | 1
193 |
194 | name
195 | storage.type.annotation.java
196 |
197 | 2
198 |
199 | name
200 | punctuation.definition.annotation-arguments.begin.java
201 |
202 |
203 | end
204 | (\))
205 | endCaptures
206 |
207 | 1
208 |
209 | name
210 | punctuation.definition.annotation-arguments.end.java
211 |
212 |
213 | name
214 | meta.declaration.annotation.java
215 | patterns
216 |
217 |
218 | captures
219 |
220 | 1
221 |
222 | name
223 | constant.other.key.java
224 |
225 | 2
226 |
227 | name
228 | keyword.operator.assignment.java
229 |
230 |
231 | match
232 | (\w*)\s*(=)
233 |
234 |
235 | include
236 | #code
237 |
238 |
239 | match
240 | ,
241 | name
242 | punctuation.separator.property.java
243 |
244 |
245 |
246 |
247 | match
248 | @\w*
249 | name
250 | storage.type.annotation.java
251 |
252 |
253 |
254 | anonymous-classes-and-new
255 |
256 | begin
257 | \bnew\b
258 | beginCaptures
259 |
260 | 0
261 |
262 | name
263 | keyword.control.new.java
264 |
265 |
266 | end
267 | (?<=\)|\])(?!\s*{)|(?<=})|(?=;)
268 | patterns
269 |
270 |
271 | begin
272 | (\w+)\s*(?=\[)
273 | beginCaptures
274 |
275 | 1
276 |
277 | name
278 | storage.type.java
279 |
280 |
281 | end
282 | (})|(?=\s*(?:,|;|\)))
283 | endCaptures
284 |
285 | 1
286 |
287 | name
288 | punctuation.section.block.end.java
289 |
290 |
291 | patterns
292 |
293 |
294 | begin
295 | \[
296 | end
297 | \]
298 | patterns
299 |
300 |
301 | include
302 | #code
303 |
304 |
305 |
306 |
307 | begin
308 | {
309 | beginCaptures
310 |
311 | 0
312 |
313 | name
314 | punctuation.section.block.begin.java
315 |
316 |
317 | end
318 | (?=})
319 | patterns
320 |
321 |
322 | include
323 | #code
324 |
325 |
326 |
327 |
328 |
329 |
330 | begin
331 | (?=\w.*\()
332 | end
333 | (?<=\))
334 | patterns
335 |
336 |
337 | include
338 | #object-types
339 |
340 |
341 | begin
342 | \(
343 | beginCaptures
344 |
345 | 1
346 |
347 | name
348 | storage.type.java
349 |
350 |
351 | end
352 | \)
353 | patterns
354 |
355 |
356 | include
357 | #code
358 |
359 |
360 |
361 |
362 |
363 |
364 | begin
365 | {
366 | beginCaptures
367 |
368 | 0
369 |
370 | name
371 | punctuation.section.inner-class.begin.java
372 |
373 |
374 | end
375 | }
376 | endCaptures
377 |
378 | 0
379 |
380 | name
381 | punctuation.section.inner-class.end.java
382 |
383 |
384 | name
385 | meta.inner-class.java
386 | patterns
387 |
388 |
389 | include
390 | #class-body
391 |
392 |
393 |
394 |
395 |
396 | assertions
397 |
398 | patterns
399 |
400 |
401 | begin
402 | \b(assert)\s
403 | beginCaptures
404 |
405 | 1
406 |
407 | name
408 | keyword.control.assert.java
409 |
410 |
411 | end
412 | $
413 | name
414 | meta.declaration.assertion.java
415 | patterns
416 |
417 |
418 | match
419 | :
420 | name
421 | keyword.operator.assert.expression-seperator.java
422 |
423 |
424 | include
425 | #code
426 |
427 |
428 |
429 |
430 |
431 | class
432 |
433 | begin
434 | (?=\w?[\w\s]*(?:class|(?:@)?interface|enum)\s+\w+)
435 | end
436 | }
437 | endCaptures
438 |
439 | 0
440 |
441 | name
442 | punctuation.section.class.end.java
443 |
444 |
445 | name
446 | meta.class.java
447 | patterns
448 |
449 |
450 | include
451 | #storage-modifiers
452 |
453 |
454 | include
455 | #comments
456 |
457 |
458 | captures
459 |
460 | 1
461 |
462 | name
463 | storage.modifier.java
464 |
465 | 2
466 |
467 | name
468 | entity.name.type.class.java
469 |
470 |
471 | match
472 | (class|(?:@)?interface|enum)\s+(\w+)
473 | name
474 | meta.class.identifier.java
475 |
476 |
477 | begin
478 | extends
479 | beginCaptures
480 |
481 | 0
482 |
483 | name
484 | storage.modifier.extends.java
485 |
486 |
487 | end
488 | (?={|implements)
489 | name
490 | meta.definition.class.inherited.classes.java
491 | patterns
492 |
493 |
494 | include
495 | #object-types-inherited
496 |
497 |
498 | include
499 | #comments
500 |
501 |
502 |
503 |
504 | begin
505 | (implements)\s
506 | beginCaptures
507 |
508 | 1
509 |
510 | name
511 | storage.modifier.implements.java
512 |
513 |
514 | end
515 | (?=\s*extends|\{)
516 | name
517 | meta.definition.class.implemented.interfaces.java
518 | patterns
519 |
520 |
521 | include
522 | #object-types-inherited
523 |
524 |
525 | include
526 | #comments
527 |
528 |
529 |
530 |
531 | begin
532 | {
533 | beginCaptures
534 |
535 | 0
536 |
537 | name
538 | punctuation.section.class.begin.java
539 |
540 |
541 | end
542 | (?=})
543 | name
544 | meta.class.body.java
545 | patterns
546 |
547 |
548 | include
549 | #class-body
550 |
551 |
552 |
553 |
554 |
555 | class-body
556 |
557 | patterns
558 |
559 |
560 | include
561 | #comments
562 |
563 |
564 | include
565 | #class
566 |
567 |
568 | include
569 | #enums
570 |
571 |
572 | include
573 | #variables
574 |
575 |
576 | include
577 | #methods
578 |
579 |
580 | include
581 | #annotations
582 |
583 |
584 | include
585 | #storage-modifiers
586 |
587 |
588 | include
589 | #code
590 |
591 |
592 |
593 | code
594 |
595 | patterns
596 |
597 |
598 | include
599 | #comments
600 |
601 |
602 | include
603 | #class
604 |
605 |
606 | begin
607 | {
608 | beginCaptures
609 |
610 | 0
611 |
612 | name
613 | punctuation.section.block.begin.java
614 |
615 |
616 | end
617 | }
618 | endCaptures
619 |
620 | 0
621 |
622 | name
623 | punctuation.section.block.end.java
624 |
625 |
626 | patterns
627 |
628 |
629 | include
630 | #code
631 |
632 |
633 |
634 |
635 | include
636 | #assertions
637 |
638 |
639 | include
640 | #parens
641 |
642 |
643 | include
644 | #constants-and-special-vars
645 |
646 |
647 | include
648 | #anonymous-classes-and-new
649 |
650 |
651 | include
652 | #annotations
653 |
654 |
655 | include
656 | #keywords
657 |
658 |
659 | include
660 | #storage-modifiers
661 |
662 |
663 | include
664 | #method-call
665 |
666 |
667 | include
668 | #strings
669 |
670 |
671 | include
672 | #all-types
673 |
674 |
675 |
676 | comments
677 |
678 | patterns
679 |
680 |
681 | captures
682 |
683 | 0
684 |
685 | name
686 | punctuation.definition.comment.java
687 |
688 |
689 | match
690 | /\*\*/
691 | name
692 | comment.block.empty.java
693 |
694 |
695 | include
696 | text.html.javadoc
697 |
698 |
699 | include
700 | #comments-inline
701 |
702 |
703 |
704 | comments-inline
705 |
706 | patterns
707 |
708 |
709 | begin
710 | /\*
711 | captures
712 |
713 | 0
714 |
715 | name
716 | punctuation.definition.comment.java
717 |
718 |
719 | end
720 | \*/
721 | name
722 | comment.block.java
723 |
724 |
725 | begin
726 | (^[ \t]+)?(?=//)
727 | beginCaptures
728 |
729 | 1
730 |
731 | name
732 | punctuation.whitespace.comment.leading.java
733 |
734 |
735 | end
736 | (?!\G)
737 | patterns
738 |
739 |
740 | begin
741 | //
742 | beginCaptures
743 |
744 | 0
745 |
746 | name
747 | punctuation.definition.comment.java
748 |
749 |
750 | end
751 | \n
752 | name
753 | comment.line.double-slash.java
754 |
755 |
756 |
757 |
758 |
759 | constants-and-special-vars
760 |
761 | patterns
762 |
763 |
764 | match
765 | \b(true|false|null)\b
766 | name
767 | constant.language.java
768 |
769 |
770 | match
771 | \b(this|super)\b
772 | name
773 | variable.language.java
774 |
775 |
776 | match
777 | \b0[xX][0-9A-Fa-f]([0-9A-Fa-f_]*[0-9A-Fa-f])?[lL]?(?!\w|\.)
778 | name
779 | constant.numeric.hex.java
780 |
781 |
782 | match
783 | \b0[0-7_]*[0-7][lL]?\b
784 | name
785 | constant.numeric.octal.java
786 |
787 |
788 | match
789 | \b0[bB][01]([01_]*[01])?[lL]?\b
790 | name
791 | constant.numeric.binary.java
792 |
793 |
794 | match
795 | \b(0|[1-9]([0-9_]*[0-9])?)[lL]?(?!\w|\.)
796 | name
797 | constant.numeric.integer.java
798 |
799 |
800 | match
801 | (?x)
802 | (?<!\w) # Ensure word boundry
803 | (?>
804 | 0[xX] # Start literal
805 | ([0-9A-Fa-f]([0-9A-Fa-f_]*[0-9A-Fa-f])?)? # Optional Number
806 | (
807 | (?<=[0-9A-Fa-f])\. # A number must exist on
808 | | \.(?=[0-9A-Fa-f]) # one side of the decimal
809 | | (?<=[0-9A-Fa-f]) # Decimal not required
810 | )
811 | ([0-9A-Fa-f]([0-9A-Fa-f_]*[0-9A-Fa-f])?)? # Optional Number
812 | [pP] # Exponent Indicator
813 | [+-]?(0|[1-9]([0-9_]*[0-9])?) # Signed Integer
814 | [fFdD]? # Float Type Suffix
815 | )
816 | (?!\w) # Ensure word boundry
817 |
818 | name
819 | constant.numeric.hex-float.java
820 |
821 |
822 | match
823 | (?x)
824 | (?<!\w) # Ensure word boundry
825 | (?>
826 | (
827 | (0|[1-9]([0-9_]*[0-9])?) # Leading digits
828 | (?=[eEfFdD.]) # Allow for numbers without .
829 | )?
830 | (
831 | (?<=[0-9])(?=[eEfFdD]) # Allow for numbers without .
832 | | \.
833 | )
834 | (
835 | [0-9]([0-9_]*[0-9])? # Numbers after .
836 | )?
837 | (
838 | [eE][+-]?(0|[1-9]([0-9_]*[0-9])?) # Exponent
839 | )?
840 | [fFdD]? # Float Type Suffix
841 | )
842 | (?!\w) # Ensure word boundry
843 |
844 | name
845 | constant.numeric.float.java
846 |
847 |
848 | captures
849 |
850 | 1
851 |
852 | name
853 | keyword.operator.dereference.java
854 |
855 |
856 | match
857 | (\.)?\b([A-Z][A-Z0-9_]+)(?!<|\.class|\s*\w+\s*=)\b
858 | name
859 | constant.other.java
860 |
861 |
862 |
863 | enums
864 |
865 | begin
866 | ^(?=\s*[A-Z0-9_]+\s*({|\(|,))
867 | end
868 | (?=;|})
869 | patterns
870 |
871 |
872 | begin
873 | \w+
874 | beginCaptures
875 |
876 | 0
877 |
878 | name
879 | constant.other.enum.java
880 |
881 |
882 | end
883 | (?=,|;|})
884 | name
885 | meta.enum.java
886 | patterns
887 |
888 |
889 | include
890 | #parens
891 |
892 |
893 | begin
894 | {
895 | beginCaptures
896 |
897 | 0
898 |
899 | name
900 | punctuation.section.enum.begin.java
901 |
902 |
903 | end
904 | }
905 | endCaptures
906 |
907 | 0
908 |
909 | name
910 | punctuation.section.enum.end.java
911 |
912 |
913 | patterns
914 |
915 |
916 | include
917 | #class-body
918 |
919 |
920 |
921 |
922 |
923 |
924 | include
925 | #comments
926 |
927 |
928 | include
929 | #annotations
930 |
931 |
932 |
933 | keywords
934 |
935 | patterns
936 |
937 |
938 | match
939 | \b(try|catch|finally|throw)\b
940 | name
941 | keyword.control.catch-exception.java
942 |
943 |
944 | match
945 | \?|:
946 | name
947 | keyword.control.ternary.java
948 |
949 |
950 | match
951 | \b(return|break|case|continue|default|do|while|for|switch|if|else)\b
952 | name
953 | keyword.control.java
954 |
955 |
956 | match
957 | \b(instanceof)\b
958 | name
959 | keyword.operator.java
960 |
961 |
962 | match
963 | (<<|>>>?|~|\^)
964 | name
965 | keyword.operator.bitwise.java
966 |
967 |
968 | match
969 | ((&|\^|\||<<|>>>?)=)
970 | name
971 | keyword.operator.assignment.bitwise.java
972 |
973 |
974 | match
975 | (===?|!=|<=|>=|<>|<|>)
976 | name
977 | keyword.operator.comparison.java
978 |
979 |
980 | match
981 | ([+*/%-]=)
982 | name
983 | keyword.operator.assignment.arithmetic.java
984 |
985 |
986 | match
987 | (=)
988 | name
989 | keyword.operator.assignment.java
990 |
991 |
992 | match
993 | (\-\-|\+\+)
994 | name
995 | keyword.operator.increment-decrement.java
996 |
997 |
998 | match
999 | (\-|\+|\*|\/|%)
1000 | name
1001 | keyword.operator.arithmetic.java
1002 |
1003 |
1004 | match
1005 | (!|&&|\|\|)
1006 | name
1007 | keyword.operator.logical.java
1008 |
1009 |
1010 | match
1011 | (\||&)
1012 | name
1013 | keyword.operator.bitwise.java
1014 |
1015 |
1016 | match
1017 | (?<=\S)\.(?=\S)
1018 | name
1019 | keyword.operator.dereference.java
1020 |
1021 |
1022 | match
1023 | ;
1024 | name
1025 | punctuation.terminator.java
1026 |
1027 |
1028 |
1029 | method-call
1030 |
1031 | begin
1032 | ([\w$]+)(\()
1033 | beginCaptures
1034 |
1035 | 1
1036 |
1037 | name
1038 | meta.method.java
1039 |
1040 | 2
1041 |
1042 | name
1043 | punctuation.definition.method-parameters.begin.java
1044 |
1045 |
1046 | end
1047 | \)
1048 | endCaptures
1049 |
1050 | 0
1051 |
1052 | name
1053 | punctuation.definition.method-parameters.end.java
1054 |
1055 |
1056 | name
1057 | meta.method-call.java
1058 | patterns
1059 |
1060 |
1061 | match
1062 | ,
1063 | name
1064 | punctuation.definition.seperator.parameter.java
1065 |
1066 |
1067 | include
1068 | #code
1069 |
1070 |
1071 |
1072 | methods
1073 |
1074 | begin
1075 | (?!new)(?=[\w<].*\s+)(?=([^=/]|/(?!/))+\()
1076 | end
1077 | (})|(?=;)
1078 | endCaptures
1079 |
1080 | 1
1081 |
1082 | name
1083 | punctuation.section.method.end.java
1084 |
1085 |
1086 | name
1087 | meta.method.java
1088 | patterns
1089 |
1090 |
1091 | include
1092 | #storage-modifiers
1093 |
1094 |
1095 | begin
1096 | (\w+)\s*\(
1097 | beginCaptures
1098 |
1099 | 1
1100 |
1101 | name
1102 | entity.name.function.java
1103 |
1104 |
1105 | end
1106 | \)
1107 | name
1108 | meta.method.identifier.java
1109 | patterns
1110 |
1111 |
1112 | include
1113 | #parameters
1114 |
1115 |
1116 | include
1117 | #comments
1118 |
1119 |
1120 |
1121 |
1122 | begin
1123 | <
1124 | end
1125 | >
1126 | name
1127 | storage.type.token.java
1128 | patterns
1129 |
1130 |
1131 | include
1132 | #object-types
1133 |
1134 |
1135 | begin
1136 | <
1137 | comment
1138 | This is just to support <>'s with no actual type prefix
1139 | end
1140 | >|[^\w\s,\[\]<]
1141 | name
1142 | storage.type.generic.java
1143 |
1144 |
1145 |
1146 |
1147 | begin
1148 | (?=\w.*\s+\w+\s*\()
1149 | end
1150 | (?=\w+\s*\()
1151 | name
1152 | meta.method.return-type.java
1153 | patterns
1154 |
1155 |
1156 | include
1157 | #all-types
1158 |
1159 |
1160 | include
1161 | #comments
1162 |
1163 |
1164 |
1165 |
1166 | include
1167 | #throws
1168 |
1169 |
1170 | begin
1171 | {
1172 | beginCaptures
1173 |
1174 | 0
1175 |
1176 | name
1177 | punctuation.section.method.begin.java
1178 |
1179 |
1180 | end
1181 | (?=})
1182 | name
1183 | meta.method.body.java
1184 | patterns
1185 |
1186 |
1187 | include
1188 | #code
1189 |
1190 |
1191 |
1192 |
1193 | include
1194 | #comments
1195 |
1196 |
1197 |
1198 | object-types
1199 |
1200 | patterns
1201 |
1202 |
1203 | begin
1204 | \b((?:[a-z]\w*\.)*[A-Z]+\w*)<
1205 | end
1206 | >|[^\w\s,\?<\[\]]
1207 | name
1208 | storage.type.generic.java
1209 | patterns
1210 |
1211 |
1212 | include
1213 | #object-types
1214 |
1215 |
1216 | begin
1217 | <
1218 | comment
1219 | This is just to support <>'s with no actual type prefix
1220 | end
1221 | >|[^\w\s,\[\]<]
1222 | name
1223 | storage.type.generic.java
1224 |
1225 |
1226 |
1227 |
1228 | begin
1229 | \b((?:[a-z]\w*\.)*[A-Z]+\w*)(?=\[)
1230 | end
1231 | (?=[^\]\s])
1232 | name
1233 | storage.type.object.array.java
1234 | patterns
1235 |
1236 |
1237 | begin
1238 | \[
1239 | end
1240 | \]
1241 | patterns
1242 |
1243 |
1244 | include
1245 | #code
1246 |
1247 |
1248 |
1249 |
1250 |
1251 |
1252 | captures
1253 |
1254 | 1
1255 |
1256 | name
1257 | keyword.operator.dereference.java
1258 |
1259 |
1260 | match
1261 | \b(?:[a-z]\w*(\.))*[A-Z]+\w*\b
1262 | name
1263 | storage.type.java
1264 |
1265 |
1266 |
1267 | object-types-inherited
1268 |
1269 | patterns
1270 |
1271 |
1272 | begin
1273 | \b((?:[a-z]\w*\.)*[A-Z]+\w*)<
1274 | end
1275 | >|[^\w\s,<]
1276 | name
1277 | entity.other.inherited-class.java
1278 | patterns
1279 |
1280 |
1281 | include
1282 | #object-types
1283 |
1284 |
1285 | begin
1286 | <
1287 | comment
1288 | This is just to support <>'s with no actual type prefix
1289 | end
1290 | >|[^\w\s,<]
1291 | name
1292 | storage.type.generic.java
1293 |
1294 |
1295 |
1296 |
1297 | captures
1298 |
1299 | 1
1300 |
1301 | name
1302 | keyword.operator.dereference.java
1303 |
1304 |
1305 | match
1306 | \b(?:[a-z]\w*(\.))*[A-Z]+\w*
1307 | name
1308 | entity.other.inherited-class.java
1309 |
1310 |
1311 |
1312 | parameters
1313 |
1314 | patterns
1315 |
1316 |
1317 | match
1318 | final
1319 | name
1320 | storage.modifier.java
1321 |
1322 |
1323 | include
1324 | #annotations
1325 |
1326 |
1327 | include
1328 | #primitive-arrays
1329 |
1330 |
1331 | include
1332 | #primitive-types
1333 |
1334 |
1335 | include
1336 | #object-types
1337 |
1338 |
1339 | match
1340 | \w+
1341 | name
1342 | variable.parameter.java
1343 |
1344 |
1345 |
1346 | parens
1347 |
1348 | begin
1349 | \(
1350 | end
1351 | \)
1352 | patterns
1353 |
1354 |
1355 | include
1356 | #code
1357 |
1358 |
1359 |
1360 | primitive-arrays
1361 |
1362 | patterns
1363 |
1364 |
1365 | match
1366 | \b(?:void|boolean|byte|char|short|int|float|long|double)(\[\])*\b
1367 | name
1368 | storage.type.primitive.array.java
1369 |
1370 |
1371 |
1372 | primitive-types
1373 |
1374 | patterns
1375 |
1376 |
1377 | match
1378 | \b(?:void|var|boolean|byte|char|short|int|float|long|double)\b
1379 | name
1380 | storage.type.primitive.java
1381 |
1382 |
1383 |
1384 | storage-modifiers
1385 |
1386 | captures
1387 |
1388 | 1
1389 |
1390 | name
1391 | storage.modifier.java
1392 |
1393 |
1394 | match
1395 | \b(public|private|protected|static|final|native|synchronized|volatile|abstract|threadsafe|transient)\b
1396 |
1397 | strings
1398 |
1399 | patterns
1400 |
1401 |
1402 | begin
1403 | "
1404 | beginCaptures
1405 |
1406 | 0
1407 |
1408 | name
1409 | punctuation.definition.string.begin.java
1410 |
1411 |
1412 | end
1413 | "
1414 | endCaptures
1415 |
1416 | 0
1417 |
1418 | name
1419 | punctuation.definition.string.end.java
1420 |
1421 |
1422 | name
1423 | string.quoted.double.java
1424 | patterns
1425 |
1426 |
1427 | match
1428 | \\.
1429 | name
1430 | constant.character.escape.java
1431 |
1432 |
1433 |
1434 |
1435 | begin
1436 | '
1437 | beginCaptures
1438 |
1439 | 0
1440 |
1441 | name
1442 | punctuation.definition.string.begin.java
1443 |
1444 |
1445 | end
1446 | '
1447 | endCaptures
1448 |
1449 | 0
1450 |
1451 | name
1452 | punctuation.definition.string.end.java
1453 |
1454 |
1455 | name
1456 | string.quoted.single.java
1457 | patterns
1458 |
1459 |
1460 | match
1461 | \\.
1462 | name
1463 | constant.character.escape.java
1464 |
1465 |
1466 |
1467 |
1468 |
1469 | throws
1470 |
1471 | begin
1472 | throws
1473 | beginCaptures
1474 |
1475 | 0
1476 |
1477 | name
1478 | storage.modifier.java
1479 |
1480 |
1481 | end
1482 | (?={|;)
1483 | name
1484 | meta.throwables.java
1485 | patterns
1486 |
1487 |
1488 | include
1489 | #object-types
1490 |
1491 |
1492 |
1493 | values
1494 |
1495 | patterns
1496 |
1497 |
1498 | include
1499 | #strings
1500 |
1501 |
1502 | include
1503 | #object-types
1504 |
1505 |
1506 | include
1507 | #constants-and-special-vars
1508 |
1509 |
1510 |
1511 | variables
1512 |
1513 | applyEndPatternLast
1514 | 1
1515 | patterns
1516 |
1517 |
1518 | begin
1519 | (?x:(?=
1520 | (?:
1521 | (?:private|protected|public|native|synchronized|volatile|abstract|threadsafe|transient|static|final) # visibility/modifier
1522 | |
1523 | (?:def)
1524 | |
1525 | (?:void|boolean|byte|char|short|int|float|long|double)
1526 | |
1527 | (?:(?:[a-z]\w*\.)*[A-Z]+\w*) # object type
1528 | )
1529 | \s+
1530 | (?!private|protected|public|native|synchronized|volatile|abstract|threadsafe|transient|static|final|def|void|boolean|byte|char|short|int|float|long|double)
1531 | [\w\d_<>\[\],\?][\w\d_<>\[\],\? \t]*
1532 | (?:=|$)
1533 |
1534 | ))
1535 | end
1536 | (?=;)
1537 | name
1538 | meta.definition.variable.java
1539 | patterns
1540 |
1541 |
1542 | match
1543 | \s
1544 |
1545 |
1546 | captures
1547 |
1548 | 1
1549 |
1550 | name
1551 | constant.other.variable.java
1552 |
1553 |
1554 | match
1555 | ([A-Z_0-9]+)\s+(?=\=)
1556 |
1557 |
1558 | captures
1559 |
1560 | 1
1561 |
1562 | name
1563 | meta.definition.variable.name.java
1564 |
1565 |
1566 | match
1567 | (\w[^\s,]*)\s+(?=\=)
1568 |
1569 |
1570 | begin
1571 | =
1572 | beginCaptures
1573 |
1574 | 0
1575 |
1576 | name
1577 | keyword.operator.assignment.java
1578 |
1579 |
1580 | end
1581 | (?=;)
1582 | patterns
1583 |
1584 |
1585 | include
1586 | #code
1587 |
1588 |
1589 |
1590 |
1591 | captures
1592 |
1593 | 1
1594 |
1595 | name
1596 | meta.definition.variable.name.java
1597 |
1598 |
1599 | match
1600 | (\w[^\s=]*)(?=\s*;)
1601 |
1602 |
1603 | include
1604 | #code
1605 |
1606 |
1607 |
1608 |
1609 |
1610 |
1611 | scopeName
1612 | source.java
1613 | uuid
1614 | 2B449DF6-6B1D-11D9-94EC-000D93589AF6
1615 |
1616 |
1617 |
--------------------------------------------------------------------------------
/Syntaxes/Java Server Pages (JSP).tmLanguage:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | fileTypes
6 |
7 | jsp
8 | jspf
9 | tag
10 |
11 | injections
12 |
13 | text.html.jsp - (meta.embedded.block.jsp | meta.embedded.line.jsp | meta.tag | comment), meta.tag string.quoted
14 |
15 | patterns
16 |
17 |
18 | include
19 | #comment
20 |
21 |
22 | include
23 | #declaration
24 |
25 |
26 | include
27 | #expression
28 |
29 |
30 | include
31 | #el_expression
32 |
33 |
34 | include
35 | #tags
36 |
37 |
38 | begin
39 | (^\s*)(?=<%(?=\s))
40 | beginCaptures
41 |
42 | 0
43 |
44 | name
45 | punctuation.whitespace.embedded.leading.erb
46 |
47 |
48 | end
49 | (?!\G)(\s*$\n)?
50 | endCaptures
51 |
52 | 0
53 |
54 | name
55 | punctuation.whitespace.embedded.trailing.erb
56 |
57 |
58 | patterns
59 |
60 |
61 | include
62 | #scriptlet
63 |
64 |
65 |
66 |
67 | include
68 | #scriptlet
69 |
70 |
71 |
72 |
73 | keyEquivalent
74 | ^~J
75 | name
76 | JavaServer Pages
77 | patterns
78 |
79 |
80 | include
81 | #xml_tags
82 |
83 |
84 | include
85 | text.html.basic
86 |
87 |
88 | repository
89 |
90 | comment
91 |
92 | begin
93 | <%--
94 | captures
95 |
96 | 0
97 |
98 | name
99 | punctuation.definition.comment.jsp
100 |
101 |
102 | end
103 | --%>
104 | name
105 | comment.block.jsp
106 |
107 | declaration
108 |
109 | begin
110 | <%!
111 | beginCaptures
112 |
113 | 0
114 |
115 | name
116 | punctuation.section.embedded.begin.jsp
117 |
118 |
119 | contentName
120 | source.java
121 | end
122 | (%)>
123 | endCaptures
124 |
125 | 0
126 |
127 | name
128 | punctuation.section.embedded.end.jsp
129 |
130 | 1
131 |
132 | name
133 | source.java
134 |
135 |
136 | name
137 | meta.embedded.line.declaration.jsp
138 | patterns
139 |
140 |
141 | include
142 | source.java
143 |
144 |
145 |
146 | el_expression
147 |
148 | begin
149 | \$\{
150 | beginCaptures
151 |
152 | 0
153 |
154 | name
155 | punctuation.section.embedded.begin.jsp
156 |
157 |
158 | contentName
159 | source.java
160 | end
161 | (\})
162 | endCaptures
163 |
164 | 0
165 |
166 | name
167 | punctuation.section.embedded.end.jsp
168 |
169 | 1
170 |
171 | name
172 | source.java
173 |
174 |
175 | name
176 | meta.embedded.line.el_expression.jsp
177 | patterns
178 |
179 |
180 | include
181 | source.java
182 |
183 |
184 |
185 | expression
186 |
187 | begin
188 | <%=
189 | beginCaptures
190 |
191 | 0
192 |
193 | name
194 | punctuation.section.embedded.begin.jsp
195 |
196 |
197 | contentName
198 | source.java
199 | end
200 | (%)>
201 | endCaptures
202 |
203 | 0
204 |
205 | name
206 | punctuation.section.embedded.end.jsp
207 |
208 | 1
209 |
210 | name
211 | source.java
212 |
213 |
214 | name
215 | meta.embedded.line.expression.jsp
216 | patterns
217 |
218 |
219 | include
220 | source.java
221 |
222 |
223 |
224 | scriptlet
225 |
226 | begin
227 | <%
228 | beginCaptures
229 |
230 | 0
231 |
232 | name
233 | punctuation.section.embedded.begin.jsp
234 |
235 |
236 | contentName
237 | source.java
238 | end
239 | (%)>
240 | endCaptures
241 |
242 | 0
243 |
244 | name
245 | punctuation.section.embedded.end.jsp
246 |
247 | 1
248 |
249 | name
250 | source.java
251 |
252 |
253 | name
254 | meta.embedded.block.scriptlet.jsp
255 | patterns
256 |
257 |
258 | match
259 | \{
260 | name
261 | punctuation.section.scope.begin.java
262 |
263 |
264 | match
265 | \}
266 | name
267 | punctuation.section.scope.end.java
268 |
269 |
270 | include
271 | source.java
272 |
273 |
274 |
275 | tags
276 |
277 | begin
278 | (<%@)\s*(?=(attribute|include|page|tag|taglib|variable)\s)
279 | beginCaptures
280 |
281 | 1
282 |
283 | name
284 | punctuation.definition.tag.begin.jsp
285 |
286 |
287 | end
288 | %>
289 | endCaptures
290 |
291 | 0
292 |
293 | name
294 | punctuation.definition.tag.end.jsp
295 |
296 |
297 | name
298 | meta.tag.template.include.jsp
299 | patterns
300 |
301 |
302 | begin
303 | \G(attribute)(?=\s)
304 | captures
305 |
306 | 1
307 |
308 | name
309 | keyword.control.attribute.jsp
310 |
311 |
312 | end
313 | (?=%>)
314 | patterns
315 |
316 |
317 | captures
318 |
319 | 1
320 |
321 | name
322 | entity.other.attribute-name.jsp
323 |
324 | 2
325 |
326 | name
327 | punctuation.separator.key-value.jsp
328 |
329 | 3
330 |
331 | name
332 | string.quoted.double.jsp
333 |
334 | 4
335 |
336 | name
337 | punctuation.definition.string.begin.jsp
338 |
339 | 5
340 |
341 | name
342 | punctuation.definition.string.end.jsp
343 |
344 |
345 | match
346 | (name|required|fragment|rtexprvalue|type|description)(=)((")[^"]*("))
347 |
348 |
349 |
350 |
351 | begin
352 | \G(include)(?=\s)
353 | captures
354 |
355 | 1
356 |
357 | name
358 | keyword.control.include.jsp
359 |
360 |
361 | end
362 | (?=%>)
363 | patterns
364 |
365 |
366 | captures
367 |
368 | 1
369 |
370 | name
371 | entity.other.attribute-name.jsp
372 |
373 | 2
374 |
375 | name
376 | punctuation.separator.key-value.jsp
377 |
378 | 3
379 |
380 | name
381 | string.quoted.double.jsp
382 |
383 | 4
384 |
385 | name
386 | punctuation.definition.string.begin.jsp
387 |
388 | 5
389 |
390 | name
391 | punctuation.definition.string.end.jsp
392 |
393 |
394 | match
395 | (file)(=)((")[^"]*("))
396 |
397 |
398 |
399 |
400 | begin
401 | \G(page)(?=\s)
402 | captures
403 |
404 | 1
405 |
406 | name
407 | keyword.control.page.jsp
408 |
409 |
410 | end
411 | (?=%>)
412 | patterns
413 |
414 |
415 | captures
416 |
417 | 1
418 |
419 | name
420 | entity.other.attribute-name.jsp
421 |
422 | 2
423 |
424 | name
425 | punctuation.separator.key-value.jsp
426 |
427 | 3
428 |
429 | name
430 | string.quoted.double.jsp
431 |
432 | 4
433 |
434 | name
435 | punctuation.definition.string.begin.jsp
436 |
437 | 5
438 |
439 | name
440 | punctuation.definition.string.end.jsp
441 |
442 |
443 | match
444 | (language|extends|import|session|buffer|autoFlush|isThreadSafe|info|errorPage|isErrorPage|contentType|pageEncoding|isElIgnored)(=)((")[^"]*("))
445 |
446 |
447 |
448 |
449 | begin
450 | \G(tag)(?=\s)
451 | captures
452 |
453 | 1
454 |
455 | name
456 | keyword.control.tag.jsp
457 |
458 |
459 | end
460 | (?=%>)
461 | patterns
462 |
463 |
464 | captures
465 |
466 | 1
467 |
468 | name
469 | entity.other.attribute-name.jsp
470 |
471 | 2
472 |
473 | name
474 | punctuation.separator.key-value.jsp
475 |
476 | 3
477 |
478 | name
479 | string.quoted.double.jsp
480 |
481 | 4
482 |
483 | name
484 | punctuation.definition.string.begin.jsp
485 |
486 | 5
487 |
488 | name
489 | punctuation.definition.string.end.jsp
490 |
491 |
492 | match
493 | (display-name|body-content|dynamic-attributes|small-icon|large-icon|description|example|language|import|pageEncoding|isELIgnored)(=)((")[^"]*("))
494 |
495 |
496 |
497 |
498 | begin
499 | \G(taglib)(?=\s)
500 | captures
501 |
502 | 1
503 |
504 | name
505 | keyword.control.taglib.jsp
506 |
507 |
508 | end
509 | (?=%>)
510 | patterns
511 |
512 |
513 | captures
514 |
515 | 1
516 |
517 | name
518 | entity.other.attribute-name.jsp
519 |
520 | 2
521 |
522 | name
523 | punctuation.separator.key-value.jsp
524 |
525 | 3
526 |
527 | name
528 | string.quoted.double.jsp
529 |
530 | 4
531 |
532 | name
533 | punctuation.definition.string.begin.jsp
534 |
535 | 5
536 |
537 | name
538 | punctuation.definition.string.end.jsp
539 |
540 |
541 | match
542 | (uri|tagdir|prefix)(=)((")[^"]*("))
543 |
544 |
545 |
546 |
547 | begin
548 | \G(variable)(?=\s)
549 | captures
550 |
551 | 1
552 |
553 | name
554 | keyword.control.variable.jsp
555 |
556 |
557 | end
558 | (?=%>)
559 | patterns
560 |
561 |
562 | captures
563 |
564 | 1
565 |
566 | name
567 | entity.other.attribute-name.jsp
568 |
569 | 2
570 |
571 | name
572 | punctuation.separator.key-value.jsp
573 |
574 | 3
575 |
576 | name
577 | string.quoted.double.jsp
578 |
579 | 4
580 |
581 | name
582 | punctuation.definition.string.begin.jsp
583 |
584 | 5
585 |
586 | name
587 | punctuation.definition.string.end.jsp
588 |
589 |
590 | match
591 | (name-given|alias|variable-class|declare|scope|description)(=)((")[^"]*("))
592 |
593 |
594 |
595 |
596 |
597 | xml_tags
598 |
599 | patterns
600 |
601 |
602 | begin
603 | (^\s*)(?=<jsp:(declaration|expression|scriptlet)>)
604 | beginCaptures
605 |
606 | 0
607 |
608 | name
609 | punctuation.whitespace.embedded.leading.erb
610 |
611 |
612 | end
613 | (?!\G)(\s*$\n)?
614 | endCaptures
615 |
616 | 0
617 |
618 | name
619 | punctuation.whitespace.embedded.trailing.erb
620 |
621 |
622 | patterns
623 |
624 |
625 | include
626 | #embedded
627 |
628 |
629 |
630 |
631 | include
632 | #embedded
633 |
634 |
635 | include
636 | #directive
637 |
638 |
639 | include
640 | #actions
641 |
642 |
643 | repository
644 |
645 | actions
646 |
647 | patterns
648 |
649 |
650 | begin
651 | (</?)(jsp:attribute)\b
652 | beginCaptures
653 |
654 | 1
655 |
656 | name
657 | punctuation.definition.tag.begin.jsp
658 |
659 | 2
660 |
661 | name
662 | entity.name.tag.jsp
663 |
664 |
665 | end
666 | >
667 | endCaptures
668 |
669 | 0
670 |
671 | name
672 | punctuation.definition.tag.end.jsp
673 |
674 |
675 | name
676 | meta.tag.template.attribute.jsp
677 | patterns
678 |
679 |
680 | captures
681 |
682 | 1
683 |
684 | name
685 | entity.other.attribute-name.jsp
686 |
687 | 2
688 |
689 | name
690 | punctuation.separator.key-value.jsp
691 |
692 | 3
693 |
694 | name
695 | string.quoted.double.jsp
696 |
697 | 4
698 |
699 | name
700 | punctuation.definition.string.begin.jsp
701 |
702 | 5
703 |
704 | name
705 | punctuation.definition.string.end.jsp
706 |
707 |
708 | match
709 | (name|trim)(=)((")[^"]*("))
710 |
711 |
712 |
713 |
714 | captures
715 |
716 | 1
717 |
718 | name
719 | punctuation.definition.tag.begin.jsp
720 |
721 | 2
722 |
723 | name
724 | entity.name.tag.jsp
725 |
726 | 3
727 |
728 | name
729 | punctuation.definition.tag.end.jsp
730 |
731 |
732 | match
733 | (</?)(jsp:body)(>)
734 | name
735 | meta.tag.template.body.jsp
736 |
737 |
738 | begin
739 | (</?)(jsp:element)\b
740 | beginCaptures
741 |
742 | 1
743 |
744 | name
745 | punctuation.definition.tag.begin.jsp
746 |
747 | 2
748 |
749 | name
750 | entity.name.tag.jsp
751 |
752 |
753 | end
754 | >
755 | endCaptures
756 |
757 | 0
758 |
759 | name
760 | punctuation.definition.tag.end.jsp
761 |
762 |
763 | name
764 | meta.tag.template.element.jsp
765 | patterns
766 |
767 |
768 | captures
769 |
770 | 1
771 |
772 | name
773 | entity.other.attribute-name.jsp
774 |
775 | 2
776 |
777 | name
778 | punctuation.separator.key-value.jsp
779 |
780 | 3
781 |
782 | name
783 | string.quoted.double.jsp
784 |
785 | 4
786 |
787 | name
788 | punctuation.definition.string.begin.jsp
789 |
790 | 5
791 |
792 | name
793 | punctuation.definition.string.end.jsp
794 |
795 |
796 | match
797 | (name)(=)((")[^"]*("))
798 |
799 |
800 |
801 |
802 | begin
803 | (<)(jsp:doBody)\b
804 | beginCaptures
805 |
806 | 1
807 |
808 | name
809 | punctuation.definition.tag.begin.jsp
810 |
811 | 2
812 |
813 | name
814 | entity.name.tag.jsp
815 |
816 |
817 | end
818 | />
819 | endCaptures
820 |
821 | 0
822 |
823 | name
824 | punctuation.definition.tag.end.jsp
825 |
826 |
827 | name
828 | meta.tag.template.dobody.jsp
829 | patterns
830 |
831 |
832 | captures
833 |
834 | 1
835 |
836 | name
837 | entity.other.attribute-name.jsp
838 |
839 | 2
840 |
841 | name
842 | punctuation.separator.key-value.jsp
843 |
844 | 3
845 |
846 | name
847 | string.quoted.double.jsp
848 |
849 | 4
850 |
851 | name
852 | punctuation.definition.string.begin.jsp
853 |
854 | 5
855 |
856 | name
857 | punctuation.definition.string.end.jsp
858 |
859 |
860 | match
861 | (var|varReader|scope)(=)((")[^"]*("))
862 |
863 |
864 |
865 |
866 | begin
867 | (</?)(jsp:forward)\b
868 | beginCaptures
869 |
870 | 1
871 |
872 | name
873 | punctuation.definition.tag.begin.jsp
874 |
875 | 2
876 |
877 | name
878 | entity.name.tag.jsp
879 |
880 |
881 | end
882 | /?>
883 | endCaptures
884 |
885 | 0
886 |
887 | name
888 | punctuation.definition.tag.end.jsp
889 |
890 |
891 | name
892 | meta.tag.template.forward.jsp
893 | patterns
894 |
895 |
896 | captures
897 |
898 | 1
899 |
900 | name
901 | entity.other.attribute-name.jsp
902 |
903 | 2
904 |
905 | name
906 | punctuation.separator.key-value.jsp
907 |
908 | 3
909 |
910 | name
911 | string.quoted.double.jsp
912 |
913 | 4
914 |
915 | name
916 | punctuation.definition.string.begin.jsp
917 |
918 | 5
919 |
920 | name
921 | punctuation.definition.string.end.jsp
922 |
923 |
924 | match
925 | (page)(=)((")[^"]*("))
926 |
927 |
928 |
929 |
930 | begin
931 | (<)(jsp:param)\b
932 | beginCaptures
933 |
934 | 1
935 |
936 | name
937 | punctuation.definition.tag.begin.jsp
938 |
939 | 2
940 |
941 | name
942 | entity.name.tag.jsp
943 |
944 |
945 | end
946 | />
947 | endCaptures
948 |
949 | 0
950 |
951 | name
952 | punctuation.definition.tag.end.jsp
953 |
954 |
955 | name
956 | meta.tag.template.param.jsp
957 | patterns
958 |
959 |
960 | captures
961 |
962 | 1
963 |
964 | name
965 | entity.other.attribute-name.jsp
966 |
967 | 2
968 |
969 | name
970 | punctuation.separator.key-value.jsp
971 |
972 | 3
973 |
974 | name
975 | string.quoted.double.jsp
976 |
977 | 4
978 |
979 | name
980 | punctuation.definition.string.begin.jsp
981 |
982 | 5
983 |
984 | name
985 | punctuation.definition.string.end.jsp
986 |
987 |
988 | match
989 | (name|value)(=)((")[^"]*("))
990 |
991 |
992 |
993 |
994 | begin
995 | (<)(jsp:getProperty)\b
996 | beginCaptures
997 |
998 | 1
999 |
1000 | name
1001 | punctuation.definition.tag.begin.jsp
1002 |
1003 | 2
1004 |
1005 | name
1006 | entity.name.tag.jsp
1007 |
1008 |
1009 | end
1010 | />
1011 | endCaptures
1012 |
1013 | 0
1014 |
1015 | name
1016 | punctuation.definition.tag.end.jsp
1017 |
1018 |
1019 | name
1020 | meta.tag.template.getproperty.jsp
1021 | patterns
1022 |
1023 |
1024 | captures
1025 |
1026 | 1
1027 |
1028 | name
1029 | entity.other.attribute-name.jsp
1030 |
1031 | 2
1032 |
1033 | name
1034 | punctuation.separator.key-value.jsp
1035 |
1036 | 3
1037 |
1038 | name
1039 | string.quoted.double.jsp
1040 |
1041 | 4
1042 |
1043 | name
1044 | punctuation.definition.string.begin.jsp
1045 |
1046 | 5
1047 |
1048 | name
1049 | punctuation.definition.string.end.jsp
1050 |
1051 |
1052 | match
1053 | (name|property)(=)((")[^"]*("))
1054 |
1055 |
1056 |
1057 |
1058 | begin
1059 | (</?)(jsp:include)\b
1060 | beginCaptures
1061 |
1062 | 1
1063 |
1064 | name
1065 | punctuation.definition.tag.begin.jsp
1066 |
1067 | 2
1068 |
1069 | name
1070 | entity.name.tag.jsp
1071 |
1072 |
1073 | end
1074 | /?>
1075 | endCaptures
1076 |
1077 | 0
1078 |
1079 | name
1080 | punctuation.definition.tag.end.jsp
1081 |
1082 |
1083 | name
1084 | meta.tag.template.include.jsp
1085 | patterns
1086 |
1087 |
1088 | captures
1089 |
1090 | 1
1091 |
1092 | name
1093 | entity.other.attribute-name.jsp
1094 |
1095 | 2
1096 |
1097 | name
1098 | punctuation.separator.key-value.jsp
1099 |
1100 | 3
1101 |
1102 | name
1103 | string.quoted.double.jsp
1104 |
1105 | 4
1106 |
1107 | name
1108 | punctuation.definition.string.begin.jsp
1109 |
1110 | 5
1111 |
1112 | name
1113 | punctuation.definition.string.end.jsp
1114 |
1115 |
1116 | match
1117 | (page|flush)(=)((")[^"]*("))
1118 |
1119 |
1120 |
1121 |
1122 | begin
1123 | (<)(jsp:invoke)\b
1124 | beginCaptures
1125 |
1126 | 1
1127 |
1128 | name
1129 | punctuation.definition.tag.begin.jsp
1130 |
1131 | 2
1132 |
1133 | name
1134 | entity.name.tag.jsp
1135 |
1136 |
1137 | end
1138 | />
1139 | endCaptures
1140 |
1141 | 0
1142 |
1143 | name
1144 | punctuation.definition.tag.end.jsp
1145 |
1146 |
1147 | name
1148 | meta.tag.template.invoke.jsp
1149 | patterns
1150 |
1151 |
1152 | captures
1153 |
1154 | 1
1155 |
1156 | name
1157 | entity.other.attribute-name.jsp
1158 |
1159 | 2
1160 |
1161 | name
1162 | punctuation.separator.key-value.jsp
1163 |
1164 | 3
1165 |
1166 | name
1167 | string.quoted.double.jsp
1168 |
1169 | 4
1170 |
1171 | name
1172 | punctuation.definition.string.begin.jsp
1173 |
1174 | 5
1175 |
1176 | name
1177 | punctuation.definition.string.end.jsp
1178 |
1179 |
1180 | match
1181 | (fragment|var|varReader|scope)(=)((")[^"]*("))
1182 |
1183 |
1184 |
1185 |
1186 | begin
1187 | (<)(jsp:output)\b
1188 | beginCaptures
1189 |
1190 | 1
1191 |
1192 | name
1193 | punctuation.definition.tag.begin.jsp
1194 |
1195 | 2
1196 |
1197 | name
1198 | entity.name.tag.jsp
1199 |
1200 |
1201 | end
1202 | />
1203 | endCaptures
1204 |
1205 | 0
1206 |
1207 | name
1208 | punctuation.definition.tag.end.jsp
1209 |
1210 |
1211 | name
1212 | meta.tag.template.output.jsp
1213 | patterns
1214 |
1215 |
1216 | captures
1217 |
1218 | 1
1219 |
1220 | name
1221 | entity.other.attribute-name.jsp
1222 |
1223 | 2
1224 |
1225 | name
1226 | punctuation.separator.key-value.jsp
1227 |
1228 | 3
1229 |
1230 | name
1231 | string.quoted.double.jsp
1232 |
1233 | 4
1234 |
1235 | name
1236 | punctuation.definition.string.begin.jsp
1237 |
1238 | 5
1239 |
1240 | name
1241 | punctuation.definition.string.end.jsp
1242 |
1243 |
1244 | match
1245 | (omit-xml-declaration|doctype-root-element|doctype-system|doctype-public)(=)((")[^"]*("))
1246 |
1247 |
1248 |
1249 |
1250 | begin
1251 | (</?)(jsp:plugin)\b
1252 | beginCaptures
1253 |
1254 | 1
1255 |
1256 | name
1257 | punctuation.definition.tag.begin.jsp
1258 |
1259 | 2
1260 |
1261 | name
1262 | entity.name.tag.jsp
1263 |
1264 |
1265 | end
1266 | >
1267 | endCaptures
1268 |
1269 | 0
1270 |
1271 | name
1272 | punctuation.definition.tag.end.jsp
1273 |
1274 |
1275 | name
1276 | meta.tag.template.plugin.jsp
1277 | patterns
1278 |
1279 |
1280 | captures
1281 |
1282 | 1
1283 |
1284 | name
1285 | entity.other.attribute-name.jsp
1286 |
1287 | 2
1288 |
1289 | name
1290 | punctuation.separator.key-value.jsp
1291 |
1292 | 3
1293 |
1294 | name
1295 | string.quoted.double.jsp
1296 |
1297 | 4
1298 |
1299 | name
1300 | punctuation.definition.string.begin.jsp
1301 |
1302 | 5
1303 |
1304 | name
1305 | punctuation.definition.string.end.jsp
1306 |
1307 |
1308 | match
1309 | (type|code|codebase|name|archive|align|height|hspace|jreversion|nspluginurl|iepluginurl)(=)((")[^"]*("))
1310 |
1311 |
1312 |
1313 |
1314 | captures
1315 |
1316 | 1
1317 |
1318 | name
1319 | punctuation.definition.tag.begin.jsp
1320 |
1321 | 2
1322 |
1323 | name
1324 | entity.name.tag.jsp
1325 |
1326 | 3
1327 |
1328 | name
1329 | punctuation.definition.tag.end.jsp
1330 |
1331 |
1332 | end
1333 | >
1334 | match
1335 | (</?)(jsp:fallback)(>)
1336 | name
1337 | meta.tag.template.fallback.jsp
1338 |
1339 |
1340 | begin
1341 | (</?)(jsp:root)\b
1342 | beginCaptures
1343 |
1344 | 1
1345 |
1346 | name
1347 | punctuation.definition.tag.begin.jsp
1348 |
1349 | 2
1350 |
1351 | name
1352 | entity.name.tag.jsp
1353 |
1354 |
1355 | end
1356 | >
1357 | endCaptures
1358 |
1359 | 0
1360 |
1361 | name
1362 | punctuation.definition.tag.end.jsp
1363 |
1364 |
1365 | name
1366 | meta.tag.template.root.jsp
1367 | patterns
1368 |
1369 |
1370 | captures
1371 |
1372 | 1
1373 |
1374 | name
1375 | entity.other.attribute-name.jsp
1376 |
1377 | 2
1378 |
1379 | name
1380 | punctuation.separator.key-value.jsp
1381 |
1382 | 3
1383 |
1384 | name
1385 | string.quoted.double.jsp
1386 |
1387 | 4
1388 |
1389 | name
1390 | punctuation.definition.string.begin.jsp
1391 |
1392 | 5
1393 |
1394 | name
1395 | punctuation.definition.string.end.jsp
1396 |
1397 |
1398 | match
1399 | (xmlns|version|xmlns:taglibPrefix)(=)((")[^"]*("))
1400 |
1401 |
1402 |
1403 |
1404 | begin
1405 | (<)(jsp:setProperty)\b
1406 | beginCaptures
1407 |
1408 | 1
1409 |
1410 | name
1411 | punctuation.definition.tag.begin.jsp
1412 |
1413 | 2
1414 |
1415 | name
1416 | entity.name.tag.jsp
1417 |
1418 |
1419 | end
1420 | />
1421 | endCaptures
1422 |
1423 | 0
1424 |
1425 | name
1426 | punctuation.definition.tag.end.jsp
1427 |
1428 |
1429 | name
1430 | meta.tag.template.setproperty.jsp
1431 | patterns
1432 |
1433 |
1434 | captures
1435 |
1436 | 1
1437 |
1438 | name
1439 | entity.other.attribute-name.jsp
1440 |
1441 | 2
1442 |
1443 | name
1444 | punctuation.separator.key-value.jsp
1445 |
1446 | 3
1447 |
1448 | name
1449 | string.quoted.double.jsp
1450 |
1451 | 4
1452 |
1453 | name
1454 | punctuation.definition.string.begin.jsp
1455 |
1456 | 5
1457 |
1458 | name
1459 | punctuation.definition.string.end.jsp
1460 |
1461 |
1462 | match
1463 | (name|property|value)(=)((")[^"]*("))
1464 |
1465 |
1466 |
1467 |
1468 | captures
1469 |
1470 | 1
1471 |
1472 | name
1473 | punctuation.definition.tag.begin.jsp
1474 |
1475 | 2
1476 |
1477 | name
1478 | entity.name.tag.jsp
1479 |
1480 | 3
1481 |
1482 | name
1483 | punctuation.definition.tag.end.jsp
1484 |
1485 |
1486 | end
1487 | >
1488 | match
1489 | (</?)(jsp:text)(>)
1490 | name
1491 | meta.tag.template.text.jsp
1492 |
1493 |
1494 | begin
1495 | (</?)(jsp:useBean)\b
1496 | beginCaptures
1497 |
1498 | 1
1499 |
1500 | name
1501 | punctuation.definition.tag.begin.jsp
1502 |
1503 | 2
1504 |
1505 | name
1506 | entity.name.tag.jsp
1507 |
1508 |
1509 | end
1510 | /?>
1511 | endCaptures
1512 |
1513 | 0
1514 |
1515 | name
1516 | punctuation.definition.tag.end.jsp
1517 |
1518 |
1519 | name
1520 | meta.tag.template.usebean.jsp
1521 | patterns
1522 |
1523 |
1524 | captures
1525 |
1526 | 1
1527 |
1528 | name
1529 | entity.other.attribute-name.jsp
1530 |
1531 | 2
1532 |
1533 | name
1534 | punctuation.separator.key-value.jsp
1535 |
1536 | 3
1537 |
1538 | name
1539 | string.quoted.double.jsp
1540 |
1541 | 4
1542 |
1543 | name
1544 | punctuation.definition.string.begin.jsp
1545 |
1546 | 5
1547 |
1548 | name
1549 | punctuation.definition.string.end.jsp
1550 |
1551 |
1552 | match
1553 | (id|scope|class|type|beanName)(=)((")[^"]*("))
1554 |
1555 |
1556 |
1557 |
1558 |
1559 | directive
1560 |
1561 | begin
1562 | (<)(jsp:directive\.(?=(attribute|include|page|tag|variable)\s))
1563 | beginCaptures
1564 |
1565 | 1
1566 |
1567 | name
1568 | punctuation.definition.tag.begin.jsp
1569 |
1570 | 2
1571 |
1572 | name
1573 | entity.name.tag.jsp
1574 |
1575 |
1576 | end
1577 | />
1578 | endCaptures
1579 |
1580 | 0
1581 |
1582 | name
1583 | punctuation.definition.tag.end.jsp
1584 |
1585 |
1586 | name
1587 | meta.tag.template.$3.jsp
1588 | patterns
1589 |
1590 |
1591 | begin
1592 | \G(attribute)(?=\s)
1593 | captures
1594 |
1595 | 1
1596 |
1597 | name
1598 | entity.name.tag.jsp
1599 |
1600 |
1601 | end
1602 | (?=/>)
1603 | patterns
1604 |
1605 |
1606 | captures
1607 |
1608 | 1
1609 |
1610 | name
1611 | entity.other.attribute-name.jsp
1612 |
1613 | 2
1614 |
1615 | name
1616 | punctuation.separator.key-value.jsp
1617 |
1618 | 3
1619 |
1620 | name
1621 | string.quoted.double.jsp
1622 |
1623 | 4
1624 |
1625 | name
1626 | punctuation.definition.string.begin.jsp
1627 |
1628 | 5
1629 |
1630 | name
1631 | punctuation.definition.string.end.jsp
1632 |
1633 |
1634 | match
1635 | (name|required|fragment|rtexprvalue|type|description)(=)((")[^"]*("))
1636 |
1637 |
1638 |
1639 |
1640 | begin
1641 | \G(include)(?=\s)
1642 | captures
1643 |
1644 | 1
1645 |
1646 | name
1647 | entity.name.tag.jsp
1648 |
1649 |
1650 | end
1651 | (?=/>)
1652 | patterns
1653 |
1654 |
1655 | captures
1656 |
1657 | 1
1658 |
1659 | name
1660 | entity.other.attribute-name.jsp
1661 |
1662 | 2
1663 |
1664 | name
1665 | punctuation.separator.key-value.jsp
1666 |
1667 | 3
1668 |
1669 | name
1670 | string.quoted.double.jsp
1671 |
1672 | 4
1673 |
1674 | name
1675 | punctuation.definition.string.begin.jsp
1676 |
1677 | 5
1678 |
1679 | name
1680 | punctuation.definition.string.end.jsp
1681 |
1682 |
1683 | match
1684 | (file)(=)((")[^"]*("))
1685 |
1686 |
1687 |
1688 |
1689 | begin
1690 | \G(page)(?=\s)
1691 | captures
1692 |
1693 | 1
1694 |
1695 | name
1696 | entity.name.tag.jsp
1697 |
1698 |
1699 | end
1700 | (?=/>)
1701 | patterns
1702 |
1703 |
1704 | captures
1705 |
1706 | 1
1707 |
1708 | name
1709 | entity.other.attribute-name.jsp
1710 |
1711 | 2
1712 |
1713 | name
1714 | punctuation.separator.key-value.jsp
1715 |
1716 | 3
1717 |
1718 | name
1719 | string.quoted.double.jsp
1720 |
1721 | 4
1722 |
1723 | name
1724 | punctuation.definition.string.begin.jsp
1725 |
1726 | 5
1727 |
1728 | name
1729 | punctuation.definition.string.end.jsp
1730 |
1731 |
1732 | match
1733 | (language|extends|import|session|buffer|autoFlush|isThreadSafe|info|errorPage|isErrorPage|contentType|pageEncoding|isElIgnored)(=)((")[^"]*("))
1734 |
1735 |
1736 |
1737 |
1738 | begin
1739 | \G(tag)(?=\s)
1740 | captures
1741 |
1742 | 1
1743 |
1744 | name
1745 | entity.name.tag.jsp
1746 |
1747 |
1748 | end
1749 | (?=/>)
1750 | patterns
1751 |
1752 |
1753 | captures
1754 |
1755 | 1
1756 |
1757 | name
1758 | entity.other.attribute-name.jsp
1759 |
1760 | 2
1761 |
1762 | name
1763 | punctuation.separator.key-value.jsp
1764 |
1765 | 3
1766 |
1767 | name
1768 | string.quoted.double.jsp
1769 |
1770 | 4
1771 |
1772 | name
1773 | punctuation.definition.string.begin.jsp
1774 |
1775 | 5
1776 |
1777 | name
1778 | punctuation.definition.string.end.jsp
1779 |
1780 |
1781 | match
1782 | (display-name|body-content|dynamic-attributes|small-icon|large-icon|description|example|language|import|pageEncoding|isELIgnored)(=)((")[^"]*("))
1783 |
1784 |
1785 |
1786 |
1787 | begin
1788 | \G(variable)(?=\s)
1789 | captures
1790 |
1791 | 1
1792 |
1793 | name
1794 | entity.name.tag.jsp
1795 |
1796 |
1797 | end
1798 | (?=/>)
1799 | patterns
1800 |
1801 |
1802 | captures
1803 |
1804 | 1
1805 |
1806 | name
1807 | entity.other.attribute-name.jsp
1808 |
1809 | 2
1810 |
1811 | name
1812 | punctuation.separator.key-value.jsp
1813 |
1814 | 3
1815 |
1816 | name
1817 | string.quoted.double.jsp
1818 |
1819 | 4
1820 |
1821 | name
1822 | punctuation.definition.string.begin.jsp
1823 |
1824 | 5
1825 |
1826 | name
1827 | punctuation.definition.string.end.jsp
1828 |
1829 |
1830 | match
1831 | (name-given|alias|variable-class|declare|scope|description)(=)((")[^"]*("))
1832 |
1833 |
1834 |
1835 |
1836 |
1837 | embedded
1838 |
1839 | begin
1840 | (<)(jsp:(declaration|expression|scriptlet))(>)
1841 | beginCaptures
1842 |
1843 | 0
1844 |
1845 | name
1846 | meta.tag.template.$3.jsp
1847 |
1848 | 1
1849 |
1850 | name
1851 | punctuation.definition.tag.begin.jsp
1852 |
1853 | 2
1854 |
1855 | name
1856 | entity.name.tag.jsp
1857 |
1858 | 4
1859 |
1860 | name
1861 | punctuation.definition.tag.end.jsp
1862 |
1863 |
1864 | contentName
1865 | source.java
1866 | end
1867 | ((<)/)(jsp:\3)(>)
1868 | endCaptures
1869 |
1870 | 0
1871 |
1872 | name
1873 | meta.tag.template.$4.jsp
1874 |
1875 | 1
1876 |
1877 | name
1878 | punctuation.definition.tag.begin.jsp
1879 |
1880 | 2
1881 |
1882 | name
1883 | source.java
1884 |
1885 | 3
1886 |
1887 | name
1888 | entity.name.tag.jsp
1889 |
1890 | 4
1891 |
1892 | name
1893 | punctuation.definition.tag.end.jsp
1894 |
1895 |
1896 | name
1897 | meta.embedded.block.jsp
1898 | patterns
1899 |
1900 |
1901 | include
1902 | source.java
1903 |
1904 |
1905 |
1906 |
1907 |
1908 |
1909 | scopeName
1910 | text.html.jsp
1911 | uuid
1912 | ACB58B55-9437-4AE6-AF42-854995CF51DF
1913 |
1914 |
1915 |
--------------------------------------------------------------------------------