Index: tools/gn/misc/vim/autoload/gn.vim |
diff --git a/tools/gn/misc/vim/autoload/gn.vim b/tools/gn/misc/vim/autoload/gn.vim |
new file mode 100644 |
index 0000000000000000000000000000000000000000..73b8397b37c94077173d498e93a107f2bde25c0f |
--- /dev/null |
+++ b/tools/gn/misc/vim/autoload/gn.vim |
@@ -0,0 +1,24 @@ |
+" Copyright 2017 The Chromium Authors. All rights reserved. |
+" Use of this source code is governed by a BSD-style license that can be |
+" found in the LICENSE file. |
+ |
+function! gn#TranslateToBuildFile(name) abort |
+ " Strip '//' prefix |
+ let l:new_path = substitute(a:name, '\v^//', '', '') |
+ |
+ " Strip the build target name (necessary if 'isfname' contains ':') |
+ let l:new_path = substitute(l:new_path, '\v:.*$', '', '') |
+ |
+ " This section requires the open source vim-maktaba plugin. If it's not |
+ " installed, there's not much we can do here |
scottmg
2017/01/24 04:22:58
This seems a bit defeatist. Surely we could append
Nate Fischer
2017/01/24 18:12:19
Ok, I think I found a robust way to do it without
|
+ if exists('*maktaba#path#Basename') |
+ " Append 'BUILD.gn', only if this doesn't already end in a filename (this |
+ " checks if it has an extension) |
+ if maktaba#path#Basename(l:new_path) !~# '\V.' |
+ let l:new_path = maktaba#path#Join([l:new_path, 'BUILD.gn']) |
+ endif |
+ else |
+ echoerr 'Please install vim-maktaba' |
+ endif |
+ return l:new_path |
+endfunction |