2014-09-23 7 views
6

Niedawno zacząłem używać Atom. Problemem, który napotkam, jest zbyt wiele/niejednoznacznych fragmentów zdefiniowanych dla Rubiego. Powoduje to pogorszenie tabulatora, ponieważ czasami dostajesz trochę nieistotnego kodu zamiast żądanej nazwy. Zastanawiam się, jak wyłączyć określony fragment z pakietu "Rubin językowy", lub jeśli to nie wyłączysz wszystkich fragmentów kodu. Najlepiej bez całkowitego wyłączania pakietu Ruby.Jak wyłączyć fragmenty w Atomie?

Odpowiedz

3

Niestety, obecnie nie ma wbudowanej funkcji tego typu.

Dopóki do pakietu snippets nie zostanie dodana żadna funkcja filtru, jedynym sposobem uzyskania dostępu do fragmentów jest pakowanie w małpkę pakietu ze skryptu init.

Na przykład coś takiego pozwoli Ci filtrować fragmenty wrócił do danego edytora przy starcie:

# we need a reference to the snippets package 
snippetsPackage = require(atom.packages.getLoadedPackage('snippets').path) 

# we need a reference to the original method we'll monkey patch 
__oldGetSnippets = snippetsPackage.getSnippets 

snippetsPackage.getSnippets = (editor) -> 
    snippets = __oldGetSnippets.call(this, editor) 

    # we're only concerned by ruby files 
    return snippets unless editor.getGrammar().scopeName is 'source.ruby' 

    # snippets is an object where keys are the snippets's prefixes and the values 
    # the snippets objects 
    console.log snippets 

    newSnippets = {} 
    excludedPrefixes = ['your','prefixes','exclusion','list'] 

    for prefix, snippet of snippets 
    newSippets[prefix] = snippet unless prefix in excludedPrefixes 

    newSnippets 
+0

nie wydaje się już pracować. 'Nie można znaleźć modułu '/ usr/share/atom/resources/app.asar/node_modules/snippets'' – user33946