From c260a9f18b75652d6c137befd914a8e31b839d30 Mon Sep 17 00:00:00 2001 From: raimon Date: Sat, 28 Nov 2015 23:26:37 +0900 Subject: [PATCH] Split file detecation function --- autoload/requirements.vim | 31 +++++++++++++++++++++++++++++++ ftdetect/requirements.vim | 10 +--------- plugin/requirements.vim | 16 ++++++++++++++++ 3 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 autoload/requirements.vim create mode 100644 plugin/requirements.vim diff --git a/autoload/requirements.vim b/autoload/requirements.vim new file mode 100644 index 0000000..d515034 --- /dev/null +++ b/autoload/requirements.vim @@ -0,0 +1,31 @@ +" the Requirements File Format syntax support for Vim +" Version: 0.1 +" Author: raimon +" License: MIT LICENSE + +let s:save_cpo = &cpo +set cpo&vim + +if !exists('g:requirements#detect_filename_pattern') + let g:requirements#detect_filename_pattern = '' +endif + + +function! requirements#matched_filename(filename) + if a:filename =~# '\v.*require(ment)?s\.(txt|in)' + return 1 + endif + + if a:filename =~# '\v.require(ment)?s/.*\.(txt|in)' + return 1 + endif + + if len(g:requirements#detect_filename_pattern) + \ && a:filename =~# g:requirements#detect_filename_pattern + return 1 + endif +endfunction + +let &cpo = s:save_cpo +unlet s:save_cpo +" vim: et sw=4 ts=4 sts=4: diff --git a/ftdetect/requirements.vim b/ftdetect/requirements.vim index 9acb8f9..268167b 100644 --- a/ftdetect/requirements.vim +++ b/ftdetect/requirements.vim @@ -6,15 +6,7 @@ function! s:isRequirementsFile() let l:filename = expand("%:p") - if l:filename =~# '\v.*require(ment)?s\.(txt|in)' - return 1 - endif - - if l:filename =~# '\v.require(ment)?s/.*\.(txt|in)' - return 1 - endif - - return 0 + return requirements#matched_filename(l:filename) endfunction au BufNewFile,BufRead *.{txt,in} if s:isRequirementsFile() | set ft=requirements diff --git a/plugin/requirements.vim b/plugin/requirements.vim new file mode 100644 index 0000000..d29e691 --- /dev/null +++ b/plugin/requirements.vim @@ -0,0 +1,16 @@ +" the Requirements File Format syntax support for Vim +" Version: 0.1 +" Author: raimon +" License: MIT LICENSE + +if exists('g:loaded_requirements') + finish +endif +let g:loaded_requirements = 1 + +let s:save_cpo = &cpo +set cpo&vim + +let &cpo = s:save_cpo +unlet s:save_cpo +" vim: et sw=4 ts=4 sts=4: