CoffeeTags yüklendikten sonra Vim Tagbar boş


2

Almakta zorlanıyorum CoffeeTags Vim'de koşmak için.

Web sitesinin önerdiği gibi CoffeeTags gem ve yapılandırma benim eklenmiş ~/.vimrc. Tagbar'ı açtığımda boş.

İşte sorunu özetleyen bir ekran görüntüsü:

Bir şey mi eksik? Ruby 1.9.2, Vim 7.3, CoffeeScript 1.1.3 ve Node.js 0.6.2 kullanıyorum. ve OS X Lion.

Yanıtlar:


5

CoffeeTags benim için geçersiz etiket dosyaları oluşturuyor gibi görünüyor. Ne zaman vim tarafından oluşturulan etiket dosyalarını kullanmaya çalıştım:

Error detected while processing function <SNR>19_CommandTShowTagFinder:
line    2:
E431: Format error in tags file "tags"
Before byte 156
Press ENTER or type command to continue

Sonunda ne kadar gerekli olduğundan emin değilim. Bunu ekledim:

--langdef=coffee
--langmap=coffee:.coffee
--regex-coffee=/(^|=[ \t])*class ([A-Za-z.]+)( extends [A-Za-z.]+)?$/\2/c,class/
--regex-coffee=/^[ \t]*(module\.)?(exports\.)?@?([A-Za-z.]+):.*[-=]>.*$/\3/f,function/
--regex-coffee=/^[ \t]*(module\.)?(exports\.)?([A-Za-z.]+)[ \t]+=.*[-=]>.*$/\3/f,function/
--regex-coffee=/^[ \t]*([A-Za-z.]+)[ \t]+=[^->\n]*$/\1/v,variable/

~ / .ctags dosyama ve sonra sadece normal exuberant-ctags yardımcı programını kullandım: find . -iname '*\.coffee*' | ctags -L-


0

En muhtemel açıklama sizin filetype yanlış ayarlanmış. Deneyin :set filetype? coffeescript tamponlarınızdan birinde. Gem'in oluşturduğu konfigürasyon, filetype’ın coffee, bu yüzden sizin için durum böyle değilse işe yaramaz. Bu durumda cihazınıza böyle bir satır ekleyin vimrc:

autocmd BufNewFile,BufReadPost *.coffee setfiletype coffee

Belki de boş bir Tagbar penceresinde bunun hakkında bir not eklemeliyim ...


Lütfen şu notu ekleyin: Ekstra bilgileri seviyoruz!
Simon Sheehan

Garip, hala şans yok. :set filetype kesinlikle döner filetype=coffee ancak Tagbar penceresi boş kalır. Buna çok kızgınım.
Roshambo

Hm, o zaman kesin olarak kesin bir şey düşünemiyorum. Coffeetag'leri çağırmayı denediniz mi, dosyanız için etiket oluşturup oluşturmadığını görmek için? $ PATH'nizde mi? Vimrc'niz bir yerde mevcut mu?
Jan Larres

Komut satırındaki CoffeeTag'ler düzgün şekilde etiketler oluşturuyor gibi görünüyor ve benim yolumda. İşte benim .vimrc ve .gvimrc .
Roshambo

0

Ruby olduğu ortaya çıktı. Söyleyebileceğim kadarıyla, CoffeeTags Ruby 1.9'da çalışmıyor. Ruby 1.8'e geçtikten sonra CoffeeTags kusursuz çalıştı.

Bunu rvm çalıştıran OS X 10.7.2'de ve rvm çalıştırmayan Arch Linux'ta doğruladım.


Buna değer, CoffeeTags Ruby 1.9 ile çalışır. Bunu kendim doğruladım, ancak bu hala probleminizin kökenine gelmiyor.
Marcus

0

Ruby tagbar docs yüklemek istemiyorsanız önerin: https://github.com/majutsushi/tagbar/wiki

let g:tagbar_type_coffee = {
    \ 'ctagstype' : 'coffee',
    \ 'kinds'     : [
        \ 'c:classes',
        \ 'm:methods',
        \ 'f:functions',
        \ 'v:variables',
        \ 'f:fields',
    \ ]
\ }

" Posix regular expressions for matching interesting items. Since this will 
" be passed as an environment variable, no whitespace can exist in the options
" so [:space:] is used instead of normal whitespaces.
" Adapted from: https://gist.github.com/2901844
let s:ctags_opts = '
  \ --langdef=coffee
  \ --langmap=coffee:.coffee
  \ --regex-coffee=/(^|=[ \t])*class ([A-Za-z_][A-Za-z0-9_]+\.)*([A-Za-z_][A-Za-z0-9_]+)( extends ([A-Za-z][A-Za-z0-9_.]*)+)?$/\3/c,class/
  \ --regex-coffee=/^[ \t]*(module\.)?(exports\.)?@?(([A-Za-z][A-Za-z0-9_.]*)+):.*[-=]>.*$/\3/m,method/
  \ --regex-coffee=/^[ \t]*(module\.)?(exports\.)?(([A-Za-z][A-Za-z0-9_.]*)+)[ \t]*=.*[-=]>.*$/\3/f,function/
  \ --regex-coffee=/^[ \t]*(([A-Za-z][A-Za-z0-9_.]*)+)[ \t]*=[^->\n]*$/\1/v,variable/
  \ --regex-coffee=/^[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)[ \t]*=[^->\n]*$/\1/f,field/
  \ --regex-coffee=/^[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+):[^->\n]*$/\1/f,static field/
  \ --regex-coffee=/^[ \t]*(([A-Za-z][A-Za-z0-9_.]*)+):[^->\n]*$/\1/f,field/
  \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?/\3/f,field/
  \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){0}/\8/f,field/
  \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){1}/\8/f,field/
  \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){2}/\8/f,field/
  \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){3}/\8/f,field/
  \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){4}/\8/f,field/
  \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){5}/\8/f,field/
  \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){6}/\8/f,field/
  \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){7}/\8/f,field/
  \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){8}/\8/f,field/
  \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){9}/\8/f,field/'

let $CTAGS = substitute(s:ctags_opts, '\v\\([nst]\)', '\\\\\1', 'g')
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.