MCPcopy Create free account
hub / github.com/ProgerXP/Notepad2e / classifyWordSQL

Function classifyWordSQL

scintilla/lexers/LexMSSQL.cxx:51–115  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49}
50
51static char classifyWordSQL(unsigned int start,
52 unsigned int end,
53 WordList *keywordlists[],
54 Accessor &styler,
55 unsigned int actualState,
56 unsigned int prevState) {
57 char s[256];
58 bool wordIsNumber = isdigit(styler[start]) || (styler[start] == '.');
59
60 WordList &kwStatements = *keywordlists[KW_MSSQL_STATEMENTS];
61 WordList &kwDataTypes = *keywordlists[KW_MSSQL_DATA_TYPES];
62 WordList &kwSystemTables = *keywordlists[KW_MSSQL_SYSTEM_TABLES];
63 WordList &kwGlobalVariables = *keywordlists[KW_MSSQL_GLOBAL_VARIABLES];
64 WordList &kwFunctions = *keywordlists[KW_MSSQL_FUNCTIONS];
65 WordList &kwStoredProcedures = *keywordlists[KW_MSSQL_STORED_PROCEDURES];
66 WordList &kwOperators = *keywordlists[KW_MSSQL_OPERATORS];
67
68 for (unsigned int i = 0; i < end - start + 1 && i < 128; i++) {
69 s[i] = static_cast<char>(tolower(styler[start + i]));
70 s[i + 1] = '\0';
71 }
72 char chAttr = SCE_MSSQL_IDENTIFIER;
73
74 if (actualState == SCE_MSSQL_GLOBAL_VARIABLE) {
75
76 if (kwGlobalVariables.InList(&s[2]))
77 chAttr = SCE_MSSQL_GLOBAL_VARIABLE;
78
79 } else if (wordIsNumber) {
80 chAttr = SCE_MSSQL_NUMBER;
81
82 } else if (prevState == SCE_MSSQL_DEFAULT_PREF_DATATYPE) {
83 // Look first in datatypes
84 if (kwDataTypes.InList(s))
85 chAttr = SCE_MSSQL_DATATYPE;
86 else if (kwOperators.InList(s))
87 chAttr = SCE_MSSQL_OPERATOR;
88 else if (kwStatements.InList(s))
89 chAttr = SCE_MSSQL_STATEMENT;
90 else if (kwSystemTables.InList(s))
91 chAttr = SCE_MSSQL_SYSTABLE;
92 else if (kwFunctions.InList(s))
93 chAttr = SCE_MSSQL_FUNCTION;
94 else if (kwStoredProcedures.InList(s))
95 chAttr = SCE_MSSQL_STORED_PROCEDURE;
96
97 } else {
98 if (kwOperators.InList(s))
99 chAttr = SCE_MSSQL_OPERATOR;
100 else if (kwStatements.InList(s))
101 chAttr = SCE_MSSQL_STATEMENT;
102 else if (kwSystemTables.InList(s))
103 chAttr = SCE_MSSQL_SYSTABLE;
104 else if (kwFunctions.InList(s))
105 chAttr = SCE_MSSQL_FUNCTION;
106 else if (kwStoredProcedures.InList(s))
107 chAttr = SCE_MSSQL_STORED_PROCEDURE;
108 else if (kwDataTypes.InList(s))

Callers 1

ColouriseMSSQLDocFunction · 0.85

Calls 2

InListMethod · 0.80
ColourToMethod · 0.80

Tested by

no test coverage detected