Так я решил это создать папку snippetsAvailable
, поместить файлы туда (и удалите папку snippets
) *.
В основной файл пакета, добавьте к вашему config schema:
config:
optionalSnippets:
title: "My optional snippets"
description: "Adds optional snippets to autosuggestions"
type: "boolean"
default: true
И в активации вашего пакета сделать что-то вроде этого:
activate: ->
@subscriptions = new CompositeDisposable
# etc..
atom.config.observe 'my-package.optionalSnippets', (checked) ->
# For copyNewer, see note below *
copyNewer "my-snippets", "#{__dirname}/snippets", {
cwd: "#{__dirname}/snippetsAvailable"
}
* Примечание: я использовал copyNewer пакет, потому что он позволяет мне удалить папку /snippets
, то есть: она автоматически создаст ее снова. Что еще более важно, он не будет перезаписывать файл фрагментов при каждой активации пакета; Кроме того, если вы обновили свой пакет с новыми фрагментами.
Очевидно, что вам нужно будет написать copyNewer = require 'copy-newer'
в верхней части основного файла.
Кроме того, если вы выбираете этот метод, не забудьте положить в /settings
.gitignore
Кажется, нет крюка необязательно загружать фрагменты. См.: Https://github.com/atom/snippets/blob/master/lib/snippets.coffee#L81 Единственный способ, о котором я могу думать, - поместить «дополнительные» файлы в отдельную папку и скопировать их, когда опция поддержки проверяется в настройках. Я попробую это и дам ответ, если он сработает. – publicJorn