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...@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 <wuzhe...@ustc.edu>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/compiler/rime_deployer.vim 
b/runtime/compiler/rime_deployer.vim
new file mode 100644
index 000000000..e0c8daef6
--- /dev/null
+++ b/runtime/compiler/rime_deployer.vim
@@ -0,0 +1,30 @@
+" Vim Compiler File
+" Language:             rime_deployer
+" Maintainer:           Wu, Zhenyu <wuzhe...@ustc.edu>
+" 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
index db7cbd7dd..8bfc45e4c 100644
--- a/runtime/ftplugin/yaml.vim
+++ b/runtime/ftplugin/yaml.vim
@@ -16,6 +16,13 @@ let b:undo_ftplugin = "setl com< cms< et< fo<"
 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

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/E1rw4cA-00ARVY-TF%40256bit.org.

Raspunde prin e-mail lui