Size: a a a

2020 May 15

NG

Nicholas Guriev in pro.vim
вот это у меня даже не заработало 😔
источник

AB

Anton Beregovoy in pro.vim
можно литералы сохранить в .sql, и парсить его в питоне )
источник

NG

Nicholas Guriev in pro.vim
Ну... такое. Мне ведь нужно работать уже с существующим кодом.
источник

VG

Vadim Goncharov in pro.vim
Georgy Komarov
У нас из коробки всякие хипстерские фичи, типа встроенного LSP-сервера и клёвого API
у кого "вас" ?
источник

GK

Georgy Komarov in pro.vim
Vadim Goncharov
у кого "вас" ?
Пользователей неовима.
источник

s

sad_snake in pro.vim
Georgy Komarov
У нас из коробки всякие хипстерские фичи, типа встроенного LSP-сервера и клёвого API
Очень удобные, стоит отметить, хипстерские фичи
источник

s

sad_snake in pro.vim
И вроде бы никаких минусов
источник

NG

Nicholas Guriev in pro.vim
sad_snake
Очень удобные, стоит отметить, хипстерские фичи
а embedded подсветка sql есть?
источник

b⛅

bouncepaw ⛅ in pro.vim
на эту тему у меня в конфиге такое есть:
источник

b⛅

bouncepaw ⛅ in pro.vim
" https://vim.fandom.com/wiki/Different_syntax_highlighting_within_regions_of_a_file
function! TextEnableCodeSnip(filetype,start,end,textSnipHl) abort
 let ft=toupper(a:filetype)
 let group='textGroup'.ft
 if exists('b:current_syntax')
   let s:current_syntax=b:current_syntax
   " Remove current syntax definition, as some syntax files (e.g. cpp.vim)
   " do nothing if b:current_syntax is defined.
   unlet b:current_syntax
 endif
 execute 'syntax include @'.group.' syntax/'.a:filetype.'.vim'
 try
   execute 'syntax include @'.group.' after/syntax/'.a:filetype.'.vim'
 catch
 endtry
 if exists('s:current_syntax')
   let b:current_syntax=s:current_syntax
 else
   unlet b:current_syntax
 endif
 execute 'syntax region textSnip'.ft.'
 \ matchgroup='.a:textSnipHl.'
 \ keepend
 \ start="'.a:start.'" end="'.a:end.'"
 \ contains=@'.group
endfunction

call TextEnableCodeSnip('scheme', '} {', '}]', 'SpecialComment')
источник

b⛅

bouncepaw ⛅ in pro.vim
может поможет
источник

GK

Georgy Komarov in pro.vim
Да, и всё стабильно работает.
источник

AB

Anton Beregovoy in pro.vim
Nicholas Guriev
Ну... такое. Мне ведь нужно работать уже с существующим кодом.
я это не очень серьезно сказал )
источник

NG

Nicholas Guriev in pro.vim
bouncepaw ⛅
" https://vim.fandom.com/wiki/Different_syntax_highlighting_within_regions_of_a_file
function! TextEnableCodeSnip(filetype,start,end,textSnipHl) abort
 let ft=toupper(a:filetype)
 let group='textGroup'.ft
 if exists('b:current_syntax')
   let s:current_syntax=b:current_syntax
   " Remove current syntax definition, as some syntax files (e.g. cpp.vim)
   " do nothing if b:current_syntax is defined.
   unlet b:current_syntax
 endif
 execute 'syntax include @'.group.' syntax/'.a:filetype.'.vim'
 try
   execute 'syntax include @'.group.' after/syntax/'.a:filetype.'.vim'
 catch
 endtry
 if exists('s:current_syntax')
   let b:current_syntax=s:current_syntax
 else
   unlet b:current_syntax
 endif
 execute 'syntax region textSnip'.ft.'
 \ matchgroup='.a:textSnipHl.'
 \ keepend
 \ start="'.a:start.'" end="'.a:end.'"
 \ contains=@'.group
endfunction

call TextEnableCodeSnip('scheme', '} {', '}]', 'SpecialComment')
Этот пример тоже видел. Чтобы работало, нужно расставлять специальные маркеры рядом со строкой.
источник

NG

Nicholas Guriev in pro.vim
а хотелось бы просто по содержимому литерала определять, нужно ли включать дополнительную подсветку
источник

NG

Nicholas Guriev in pro.vim
скажем, если в строке есть одно начальных слов SQL, то для всей строки включить syntax/sql.vim
источник

NG

Nicholas Guriev in pro.vim
причём желательно наличие строки определять уже по существующим match groups
источник

YS

Yaroslav Schekin in pro.vim
Nicholas Guriev
вот это у меня даже не заработало 😔
А кто ж Вам обещал (runtime files не стоят на месте). ;(
Я поэтому и написал — поищите готовое, просто так во всё это лезть у меня, например (а я подобное делал — и это морока), нет никакого желания. А если Вы этого никогда не делали — будет ещё противнее. ;)
источник

VG

Vadim Goncharov in pro.vim
Nicholas Guriev
Пытаюсь настроить подсветку SQL внутри строковых литералов другого языка. Но оно как-то не так работает. На примере питона: https://paste.ubuntu.com/p/mGjkMcrhRX/

Никто не знает готового решения?
у меня вот такое:
cat ~/.vim/after/syntax/perl/heredoc-sql.vim 

" Perl highlighting for SQL in heredocs
" Maintainer:   vim-perl <vim-perl@groups.google.com>
" Installation: Put into after/syntax/perl/heredoc-sql.vim

" XXX include guard

" XXX make the dialect configurable?
runtime! syntax/sql.vim
unlet b:current_syntax
syntax include @SQL syntax/sql.vim

if get(g:, 'perl_fold', 0)
 syntax region perlHereDocSQL matchgroup=perlStringStartEnd start=+<<\s*'\z(\%(END_\)\=SQL\)'+ end='^\z1$' contains=@SQL               fold extend
 syntax region perlHereDocSQL matchgroup=perlStringStartEnd start='<<\s*"\z(\%(END_\)\=SQL\)"' end='^\z1$' contains=@perlInterpDQ,@SQL fold extend
 syntax region perlHereDocSQL matchgroup=perlStringStartEnd start='<<\s*\z(\%(END_\)\=SQL\)'   end='^\z1$' contains=@perlInterpDQ,@SQL fold extend
else
 syntax region perlHereDocSQL matchgroup=perlStringStartEnd start=+<<\s*'\z(\%(END_\)\=SQL\)'+ end='^\z1$' contains=@SQL
 syntax region perlHereDocSQL matchgroup=perlStringStartEnd start='<<\s*"\z(\%(END_\)\=SQL\)"' end='^\z1$' contains=@perlInterpDQ,@SQL
 syntax region perlHereDocSQL matchgroup=perlStringStartEnd start='<<\s*\z(\%(END_\)\=SQL\)'   end='^\z1$' contains=@perlInterpDQ,@SQL
endif
источник

E

Egor#1 in pro.vim
Привет, есть ли расширения для вим, которые замеряют скорость печати?
источник