Skip to content

Commit 3cf1204

Browse files
author
Federico Fissore
committed
Keywords: added preprocessor directives. Fixes #3480
1 parent 0ad73eb commit 3cf1204

File tree

4 files changed

+17
-0
lines changed

4 files changed

+17
-0
lines changed

app/src/processing/app/syntax/PdeKeywords.java

+4
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public class PdeKeywords {
5454
KNOWN_TOKEN_TYPES.put("DATA_TYPE", TokenTypes.DATA_TYPE);
5555
KNOWN_TOKEN_TYPES.put("LITERAL_BOOLEAN", TokenTypes.LITERAL_BOOLEAN);
5656
KNOWN_TOKEN_TYPES.put("LITERAL_CHAR", TokenTypes.LITERAL_CHAR);
57+
KNOWN_TOKEN_TYPES.put("PREPROCESSOR", TokenTypes.PREPROCESSOR);
5758
}
5859

5960
// lookup table for the TokenMarker subclass, handles coloring
@@ -112,6 +113,9 @@ private void parseKeywordsTxt(File input) throws Exception {
112113
String pieces[] = PApplet.split(line, '\t');
113114

114115
String keyword = pieces[0].trim();
116+
if (keyword.startsWith("\\#")) {
117+
keyword = keyword.replace("\\#", "#");
118+
}
115119

116120
if (pieces.length >= 2) {
117121
keywordOldToken.put(keyword, pieces[1]);

app/src/processing/app/syntax/SketchTextArea.java

+1
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ private void setTheme(String name) throws IOException {
125125
setSyntaxTheme(TokenTypes.LITERAL_BOOLEAN, "literal_boolean");
126126
setSyntaxTheme(TokenTypes.LITERAL_CHAR, "literal_char");
127127
setSyntaxTheme(TokenTypes.LITERAL_STRING_DOUBLE_QUOTE, "literal_string_double_quote");
128+
setSyntaxTheme(TokenTypes.PREPROCESSOR, "preprocessor");
128129

129130
Style style = getSyntaxScheme().getStyle(TokenTypes.IDENTIFIER);
130131
style.foreground = processing.app.Theme.getColor("editor.fgcolor");

build/shared/lib/keywords.txt

+11
Original file line numberDiff line numberDiff line change
@@ -248,3 +248,14 @@ export KEYWORD3 RESERVED_WORD
248248
>> Bitshift
249249
; SemiColon
250250
-= DecrementCompound
251+
252+
\#include KEYWORD3 PREPROCESSOR
253+
\#define KEYWORD3 PREPROCESSOR
254+
\#elif KEYWORD3 PREPROCESSOR
255+
\#else KEYWORD3 PREPROCESSOR
256+
\#error KEYWORD3 PREPROCESSOR
257+
\#if KEYWORD3 PREPROCESSOR
258+
\#ifdef KEYWORD3 PREPROCESSOR
259+
\#ifndef KEYWORD3 PREPROCESSOR
260+
\#pragma KEYWORD3 PREPROCESSOR
261+
\#warning KEYWORD3 PREPROCESSOR

build/shared/lib/theme/theme.txt

+1
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ editor.reserved_word_2.style = #00979C,plain
100100
editor.literal_boolean.style = #00979C,plain
101101
editor.literal_char.style = #00979C,plain
102102
editor.literal_string_double_quote.style = #00979C,plain
103+
editor.preprocessor.style = #5E6D03,plain
103104

104105
# http://www.arduino.cc/
105106
editor.url.style = #0000ff,underlined

0 commit comments

Comments
 (0)