Skip to content

Commit

Permalink
fixup: rename
Browse files Browse the repository at this point in the history
  • Loading branch information
joshgoebel committed Apr 21, 2021
1 parent 99e175a commit 11d5e59
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
20 changes: 10 additions & 10 deletions src/lib/compile_keywords.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,30 @@ const COMMON_KEYWORDS = [
'value' // common variable name
];

const DEFAULT_KEYWORD_CLASSNAME = "keyword";
const DEFAULT_KEYWORD_SCOPE = "keyword";

/**
* Given raw keywords from a language definition, compile them.
*
* @param {string | Record<string,string|string[]> | Array<string>} rawKeywords
* @param {boolean} caseInsensitive
*/
export function compileKeywords(rawKeywords, caseInsensitive, className = DEFAULT_KEYWORD_CLASSNAME) {
export function compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE) {
/** @type KeywordDict */
const compiledKeywords = {};

// input can be a string of keywords, an array of keywords, or a object with
// named keys representing className (which can then point to a string or array)
// named keys representing scopeName (which can then point to a string or array)
if (typeof rawKeywords === 'string') {
compileList(className, rawKeywords.split(" "));
compileList(scopeName, rawKeywords.split(" "));
} else if (Array.isArray(rawKeywords)) {
compileList(className, rawKeywords);
compileList(scopeName, rawKeywords);
} else {
Object.keys(rawKeywords).forEach(function(className) {
Object.keys(rawKeywords).forEach(function(scopeName) {
// collapse all our objects back into the parent object
Object.assign(
compiledKeywords,
compileKeywords(rawKeywords[className], caseInsensitive, className)
compileKeywords(rawKeywords[scopeName], caseInsensitive, scopeName)
);
});
}
Expand All @@ -49,16 +49,16 @@ export function compileKeywords(rawKeywords, caseInsensitive, className = DEFAUL
*
* Ex: "for if when while|5"
*
* @param {string} className
* @param {string} scopeName
* @param {Array<string>} keywordList
*/
function compileList(className, keywordList) {
function compileList(scopeName, keywordList) {
if (caseInsensitive) {
keywordList = keywordList.map(x => x.toLowerCase());
}
keywordList.forEach(function(keyword) {
const pair = keyword.split('|');
compiledKeywords[pair[0]] = [className, scoreForKeyword(pair[0], pair[1])];
compiledKeywords[pair[0]] = [scopeName, scoreForKeyword(pair[0], pair[1])];
});
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/lib/ext/multi_class.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const MultiClassError = new Error();
*/
function remapScopeNames(mode, regexes) {
let offset = 0;
const scopeNames = mode.className;
const scopeNames = mode.scope;
/** @type Record<number,boolean> */
const emit = {};
/** @type Record<number,string|true> */
Expand All @@ -47,7 +47,7 @@ function remapScopeNames(mode, regexes) {
// we use _emit to keep track of which match groups are "top-level" to avoid double
// output from inside match groups
mode._emit = emit;
mode.className = positions;
mode.scope = positions;
}

/**
Expand Down

0 comments on commit 11d5e59

Please sign in to comment.