mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 22:36:09 +03:00
27 lines
995 B
VimL
27 lines
995 B
VimL
|
" 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:.*$', '', '')
|
||
|
|
||
|
" Append 'BUILD.gn', only if this is a directory and not a file
|
||
|
" Prefer using maktaba if it's available, but fallback to an alternative
|
||
|
if exists('*maktaba#path#Basename')
|
||
|
" Check if the last part of the path appears to be a file
|
||
|
if maktaba#path#Basename(l:new_path) !~# '\V.'
|
||
|
let l:new_path = maktaba#path#Join([l:new_path, 'BUILD.gn'])
|
||
|
endif
|
||
|
else
|
||
|
" This will break if 'autochdir' is enabled
|
||
|
if isdirectory(l:new_path)
|
||
|
let l:new_path = substitute(l:new_path, '\v/?$', '/BUILD.gn', '')
|
||
|
endif
|
||
|
endif
|
||
|
return l:new_path
|
||
|
endfunction
|