summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Fraser <george@fivetran.com>2018-12-30 20:30:09 -0800
committerGeorge Fraser <george@fivetran.com>2018-12-30 20:30:09 -0800
commit31c4b56a58d3a6d7cce69796cd3626dbb550fff1 (patch)
tree6536f41b5d347d718b334dd4a93fc5c93d368a97
parent95e9037be94e0d2e6b892fd42a106fd562ea4edb (diff)
downloadjava-language-server-31c4b56a58d3a6d7cce69796cd3626dbb550fff1.zip
Coloring
-rw-r--r--TODOS.md2
-rw-r--r--lib/java.tmLanguage.json43
2 files changed, 23 insertions, 22 deletions
diff --git a/TODOS.md b/TODOS.md
index a1d7fb2..666c86a 100644
--- a/TODOS.md
+++ b/TODOS.md
@@ -29,8 +29,6 @@
## Polish
- Hover constructor should show constructor, not class
-- String.format(...) coloring
-- `new` should be a control keyword, not a regular keyword
- Show warning for unused local var, unused private method
- Use cached codelens during parse errors to prevent things from jumping around, or codelens-on-save
- Suppress references codelens for inherited methods
diff --git a/lib/java.tmLanguage.json b/lib/java.tmLanguage.json
index 726c49d..d6080fa 100644
--- a/lib/java.tmLanguage.json
+++ b/lib/java.tmLanguage.json
@@ -664,6 +664,29 @@
]
},
{
+ "begin": "String\\.format\\(",
+ "end": "\\)",
+ "name": "meta.string.format",
+ "patterns": [
+ {
+ "begin": "\"",
+ "end": "\"",
+ "name": "string.quoted.double.format.java",
+ "patterns": [
+ {
+ "match": "\\\\.",
+ "name": "constant.character.escape"
+ },
+ {
+ "match": "%(\\d+\\$|<)?[-#+ 0,(]*(\\d+)?(\\.\\d+)?([tT][HIklMSLNpzZsQBbhAaCYyjmde]?|[bBhHsScCdoxXeEfgGaA%n])",
+ "name": "constant.character.escape",
+ "TODO": "more complicated format strings"
+ }
+ ]
+ }
+ ]
+ },
+ {
"include": "#keywords"
},
{
@@ -873,17 +896,7 @@
},
{
"begin": "\"",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.string.begin"
- }
- },
"end": "\"",
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.string.end"
- }
- },
"name": "string.quoted.double.java",
"patterns": [
{
@@ -894,17 +907,7 @@
},
{
"begin": "'",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.string.begin"
- }
- },
"end": "'",
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.string.end"
- }
- },
"name": "string.quoted.single.java",
"patterns": [
{