Я могу заставить энергию уважать мои .gitignore файлы?

Я имею в виду, что компоненты массива являются константами, т. е. [0] является постоянной переменной, такой как этот открытый статический окончательный int SIZE = 10;

blockquote>

Вы не можете указывать имена индексов массива.

Вы можете инициализировать массив, используя значения ранее существовавших констант:

public static final int SIZE = 10;

public static final int[] CONSTANTS = { SIZE };

Имейте в виду, что, хотя массив объявлен final, его значения могут все еще меняются. final только гарантирует, что вы не можете повторно назначить переменную массива, поэтому вы захотите инкапсулировать массив, чтобы предотвратить мутацию:

final class Constants {
    public static final int SIZE = 10;

    private static final int[] CONSTANTS = { SIZE };

    public static int getConstant(int index) {
       return CONSTANTS[index];
    }
}

Если вы хотите использовать цикл, я предлагаю вернуть глубокое копирование массива.

14
задан saffsd 23 February 2009 в 23:38
поделиться

2 ответа

Как предложено @dwc, вот сценарий энергии:

let filename = '.gitignore'
if filereadable(filename)
    let igstring = ''
    for oline in readfile(filename)
        let line = substitute(oline, '\s|\n|\r', '', "g")
        if line =~ '^#' | con | endif
        if line == '' | con  | endif
        if line =~ '^!' | con  | endif
        if line =~ '/ 

Берут тот источник и помещают его в файл в Вашем сменном каталоге, такой как ~/.vim/plugin/gitignore.vim. Это считает Ваш .gitignore файл и проанализирует его, преобразовывая его формат в одно подходящее для wildignore, и затем устанавливать ту опцию.

Ограничения :

  • Это будет читать .gitignore файл из каталога, где Вы запускаете энергию. Никакое усилие не приложено, чтобы искать другой .gitignore файлы и проанализировать их. С другой стороны, Вы могли определить полный путь в файл на первой строке.
  • wildignore опция в энергии не поддерживает понятие [1 111], отрицание игнорирует как Вы, может в .gitignore файл. Таким образом, Вы не можете сказать :set wildignore=*.html,!foo.html, чтобы иметь его, игнорируют все файлы HTML кроме foo.html. Поэтому .gitignore строки, которые запускаются с! просто проигнорированы.
| let igstring .= "," . line . "*" | con | endif let igstring .= "," . line endfor let execstring = "set wildignore=".substitute(igstring, '^,', '', "g") execute execstring endif

Берут тот источник и помещают его в файл в Вашем сменном каталоге, такой как ~/.vim/plugin/gitignore.vim. Это считает Ваш .gitignore файл и проанализирует его, преобразовывая его формат в одно подходящее для wildignore, и затем устанавливать ту опцию.

Ограничения :

  • Это будет читать .gitignore файл из каталога, где Вы запускаете энергию. Никакое усилие не приложено, чтобы искать другой .gitignore файлы и проанализировать их. С другой стороны, Вы могли определить полный путь в файл на первой строке.
  • wildignore опция в энергии не поддерживает понятие [1 111], отрицание игнорирует как Вы, может в .gitignore файл. Таким образом, Вы не можете сказать :set wildignore=*.html,!foo.html, чтобы иметь его, игнорируют все файлы HTML кроме foo.html. Поэтому .gitignore строки, которые запускаются с! просто проигнорированы.
22
ответ дан 1 December 2019 в 06:39
поделиться

Vim проигнорирует шаблоны файла, указанные в опции wildignore , таким образом, можно будет установить их как так:

:set wildignore=*.o,*~,*.pyc

Или место та же строка (без ":") в Вашем ~/.vimrc файл. При необходимости в чем-то более динамическом как корректировка к .gitignore в текущем каталоге затем, необходимо будет сделать некоторые сценарии, но я оставлю это как осуществление для кого-то еще.

19
ответ дан 1 December 2019 в 06:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: