# HG changeset patch # User Christian Brabandt # Date 1713119406 -7200 # Node ID 9fdacba9c2ec069088eb3eb058c3a8f9055ed458 # Parent 428dceb57effe88fb77c5a15b9bf3ffaf5d3221a compiler(rime_deployer): include new compiler, use it for '*.custom.yaml' files (#14460) Commit: https://github.com/vim/vim/commit/8a31de6dd275b3dc925fee556ccccd5db8ee2504 Author: wzy <32936898+Freed-Wu@users.noreply.github.com> Date: Mon Apr 15 02:28:29 2024 +0800 compiler(rime_deployer): include new compiler, use it for '*.custom.yaml' files (https://github.com/vim/vim/issues/14460) Signed-off-by: Wu, Zhenyu Signed-off-by: Christian Brabandt diff --git a/runtime/compiler/rime_deployer.vim b/runtime/compiler/rime_deployer.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/rime_deployer.vim @@ -0,0 +1,30 @@ +" Vim Compiler File +" Language: rime_deployer +" Maintainer: Wu, Zhenyu +" URL: https://rime.im +" Latest Revision: 2024-04-09 + +if exists('b:current_compiler') + finish +endif +let b:current_compiler = 'rime_deployer' + +let s:save_cpoptions = &cpoptions +set cpoptions&vim + +" Android Termux +let s:prefix = getenv('PREFIX') +if s:prefix == v:null + let s:prefix = '/usr' +endif +" Android, NixOS, GNU/Linux, BSD +for s:shared_data_dir in ['/sdcard/rime-data', '/run/current-system/sw/share/rime-data', '/usr/local/share/rime-data', s:prefix . '/share/rime-data'] + if isdirectory(s:shared_data_dir) + break + endif +endfor +execute 'CompilerSet makeprg=rime_deployer\ --build\ %:p:h:S\' s:shared_data_dir +unlet s:prefix s:shared_data_dir + +let &cpoptions = s:save_cpoptions +unlet s:save_cpoptions diff --git a/runtime/ftplugin/yaml.vim b/runtime/ftplugin/yaml.vim --- a/runtime/ftplugin/yaml.vim +++ b/runtime/ftplugin/yaml.vim @@ -16,6 +16,13 @@ let b:undo_ftplugin = "setl com< cms< et setlocal comments=:# commentstring=#\ %s expandtab setlocal formatoptions-=t formatoptions+=croql +" rime input method engine uses `*.custom.yaml` as its config files +if expand('%:r:e') ==# 'custom' + compiler rime_deployer + setlocal include=__include:\\s* + let b:undo_ftplugin ..= " inc<" +endif + if !exists("g:yaml_recommended_style") || g:yaml_recommended_style != 0 let b:undo_ftplugin ..= " sw< sts<" setlocal shiftwidth=2 softtabstop=2