See #282. Fix getLanguages for finding by name and namespace

- Was causing "Duplicate option" warnings
This commit is contained in:
Glavin Wiechert 2015-05-01 03:53:25 -03:00
parent 9211a03c16
commit a30dc62510
3 changed files with 7 additions and 5 deletions

View File

@ -70,6 +70,7 @@
"temp": "^0.8.0", "temp": "^0.8.0",
"tidy-markdown": "^0.3.2", "tidy-markdown": "^0.3.2",
"typescript-formatter": "~0.1.4", "typescript-formatter": "~0.1.4",
"underscore-plus": "^1.6.6",
"yaml-front-matter": "^3.2.3" "yaml-front-matter": "^3.2.3"
}, },
"activationCommands": { "activationCommands": {

View File

@ -84,7 +84,7 @@ module.exports = class Beautifiers
langOptions = {} langOptions = {}
for lang in @languages.languages for lang in @languages.languages
langOptions[lang.name] ?= {} langOptions[lang.name] ?= {}
options = _.cloneDeep(langOptions[lang.name]) options = langOptions[lang.name]
for field, op of lang.options for field, op of lang.options
if not op.title? if not op.title?
op.title = _plus.uncamelcase(field).split('.') op.title = _plus.uncamelcase(field).split('.')
@ -143,6 +143,7 @@ module.exports = class Beautifiers
lang = @languages.getLanguages(name:langName)?[0] lang = @languages.getLanguages(name:langName)?[0]
# Use the namespace from language as key prefix # Use the namespace from language as key prefix
prefix = lang.namespace prefix = lang.namespace
# console.log(langName, lang, prefix, ops)
# Iterate over all language options and rename fields # Iterate over all language options and rename fields
for field, op of ops for field, op of ops
# Rename field # Rename field
@ -159,7 +160,7 @@ module.exports = class Beautifiers
# console.log('language options', language, languageOptions, result) # console.log('language options', language, languageOptions, result)
return _.reduce(languageOptions, ((result, optionDef, optionName) -> return _.reduce(languageOptions, ((result, optionDef, optionName) ->
# TODO: Add supported beautifiers to option description # TODO: Add supported beautifiers to option description
# console.log('optionDef', optionDef) # console.log('optionDef', optionDef, optionName)
if optionDef.beautifiers.length > 0 if optionDef.beautifiers.length > 0
# optionDef.title = "#{optionDef.title} - Supported by #{optionDef.beautifiers.join(', ')}" # optionDef.title = "#{optionDef.title} - Supported by #{optionDef.beautifiers.join(', ')}"
optionDef.description = "#{optionDef.description} (Supported by #{optionDef.beautifiers.join(', ')})" optionDef.description = "#{optionDef.description} (Supported by #{optionDef.beautifiers.join(', ')})"

View File

@ -77,10 +77,10 @@ module.exports = class Languages
Get language for grammar and extension Get language for grammar and extension
### ###
getLanguages: ({name, namespace, grammar, extension}) -> getLanguages: ({name, namespace, grammar, extension}) ->
# console.log(grammar, extension, @languages) # console.log('getLanguages', name, namespace, grammar, extension, @languages)
_.union( _.union(
_.filter(@languages, (language) -> _.contains(language.name, name)) _.filter(@languages, (language) -> _.isEqual(language.name, name))
_.filter(@languages, (language) -> _.contains(language.namespace, namespace)) _.filter(@languages, (language) -> _.isEqual(language.namespace, namespace))
_.filter(@languages, (language) -> _.contains(language.grammars, grammar)) _.filter(@languages, (language) -> _.contains(language.grammars, grammar))
_.filter(@languages, (language) -> _.contains(language.extensions, extension)) _.filter(@languages, (language) -> _.contains(language.extensions, extension))
) )