From 863fa61127b1f2fb6ce5aa5a64ceeb8e9e88ae76 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 29 May 2019 02:32:37 +1200 Subject: Replace unneeded regex check --- autoload/shebang_change_filetype.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoload/shebang_change_filetype.vim b/autoload/shebang_change_filetype.vim index 081eaf1..f9911bd 100644 --- a/autoload/shebang_change_filetype.vim +++ b/autoload/shebang_change_filetype.vim @@ -1,7 +1,7 @@ " Check whether the first line was changed and looks like a shebang, and if " so, re-run filetype detection function! shebang_change_filetype#Check() abort - if line('''[') == 1 && getline(1) =~# '^#!' + if line("'[") == 1 && strpart(getline(1), 0, 2) ==# '#!' doautocmd filetypedetect BufRead endif endfunction -- cgit v1.2.3 From 95a52e3ce45ddc5fd9d1a93d5d076896787840c0 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 29 May 2019 02:33:26 +1200 Subject: Remove unneeded function name --- autoload/shebang_change_filetype.vim | 2 +- plugin/shebang_change_filetype.vim | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/autoload/shebang_change_filetype.vim b/autoload/shebang_change_filetype.vim index f9911bd..afec14f 100644 --- a/autoload/shebang_change_filetype.vim +++ b/autoload/shebang_change_filetype.vim @@ -1,6 +1,6 @@ " Check whether the first line was changed and looks like a shebang, and if " so, re-run filetype detection -function! shebang_change_filetype#Check() abort +function! shebang_change_filetype#() abort if line("'[") == 1 && strpart(getline(1), 0, 2) ==# '#!' doautocmd filetypedetect BufRead endif diff --git a/plugin/shebang_change_filetype.vim b/plugin/shebang_change_filetype.vim index ca6c183..69a4ad5 100644 --- a/plugin/shebang_change_filetype.vim +++ b/plugin/shebang_change_filetype.vim @@ -17,9 +17,9 @@ let loaded_shebang_change_filetype = 1 augroup shebang_change_filetype autocmd! autocmd InsertLeave * - \ call shebang_change_filetype#Check() + \ call shebang_change_filetype#() if exists('##TextChanged') autocmd TextChanged * - \ call shebang_change_filetype#Check() + \ call shebang_change_filetype#() endif augroup END -- cgit v1.2.3 From ea0af269e536d7868564a2599f712e6f98dc0671 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 29 May 2019 02:33:48 +1200 Subject: Split longish conditional --- autoload/shebang_change_filetype.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/autoload/shebang_change_filetype.vim b/autoload/shebang_change_filetype.vim index afec14f..447ac2b 100644 --- a/autoload/shebang_change_filetype.vim +++ b/autoload/shebang_change_filetype.vim @@ -1,7 +1,8 @@ " Check whether the first line was changed and looks like a shebang, and if " so, re-run filetype detection function! shebang_change_filetype#() abort - if line("'[") == 1 && strpart(getline(1), 0, 2) ==# '#!' + if line("'[") == 1 + \ && strpart(getline(1), 0, 2) ==# '#!' doautocmd filetypedetect BufRead endif endfunction -- cgit v1.2.3 From e667db41ebc868c63a735cc1e9711c10c3c2f321 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 29 May 2019 02:34:09 +1200 Subject: Condense load guard --- plugin/shebang_change_filetype.vim | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/plugin/shebang_change_filetype.vim b/plugin/shebang_change_filetype.vim index 69a4ad5..0bb1e51 100644 --- a/plugin/shebang_change_filetype.vim +++ b/plugin/shebang_change_filetype.vim @@ -5,10 +5,7 @@ " Author: Tom Ryder " License: Same as Vim itself " -if exists('loaded_shebang_change_filetype') || &compatible - finish -endif -if !has('autocmd') || v:version < 700 +if exists('loaded_shebang_change_filetype') || &compatible || v:version < 700 finish endif let loaded_shebang_change_filetype = 1 -- cgit v1.2.3 From b4cd4708ff269f13330b8643d6e2a4902e7e4cb9 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 29 May 2019 02:34:22 +1200 Subject: Correct indenting --- plugin/shebang_change_filetype.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/shebang_change_filetype.vim b/plugin/shebang_change_filetype.vim index 0bb1e51..a5f1ca7 100644 --- a/plugin/shebang_change_filetype.vim +++ b/plugin/shebang_change_filetype.vim @@ -14,7 +14,7 @@ let loaded_shebang_change_filetype = 1 augroup shebang_change_filetype autocmd! autocmd InsertLeave * - \ call shebang_change_filetype#() + \ call shebang_change_filetype#() if exists('##TextChanged') autocmd TextChanged * \ call shebang_change_filetype#() -- cgit v1.2.3 From eb2f8b55288d240aa40e6a08ac2e8cac4a272142 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 29 May 2019 02:34:31 +1200 Subject: Use :doautocmd to avoid redundancy --- plugin/shebang_change_filetype.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/shebang_change_filetype.vim b/plugin/shebang_change_filetype.vim index a5f1ca7..a27cb70 100644 --- a/plugin/shebang_change_filetype.vim +++ b/plugin/shebang_change_filetype.vim @@ -17,6 +17,6 @@ augroup shebang_change_filetype \ call shebang_change_filetype#() if exists('##TextChanged') autocmd TextChanged * - \ call shebang_change_filetype#() + \ doautocmd InsertLeave endif augroup END -- cgit v1.2.3 From 6d82af8c6daf73e5026b50d3e132adc217c2bf61 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 29 May 2019 02:36:58 +1200 Subject: Condense and solidify documentation --- README.md | 5 ++--- doc/shebang_change_filetype.txt | 11 +++++------ plugin/shebang_change_filetype.vim | 4 ++-- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 3f6524a..f168f1d 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,8 @@ shebang\_change\_filetype.vim ============================= -This plugin watches the first line of a buffer for the presence of a "shebang", -beginning with the characters "#!". If such a line is added or modified, -filetype detection is re-run. +This plugin re-runs filetype detection if a shebang `#!` is added or changed in +the buffer. License ------- diff --git a/doc/shebang_change_filetype.txt b/doc/shebang_change_filetype.txt index 0d84d95..d26f02a 100644 --- a/doc/shebang_change_filetype.txt +++ b/doc/shebang_change_filetype.txt @@ -1,15 +1,14 @@ -*shebang_change_filetype.txt* For Vim version 7.0 Last change: 2019 May 20 +*shebang_change_filetype.txt* For Vim version 7.0 Last change: 2019 May 28 DESCRIPTION *shebang_change_filetype* -This plugin watches the first line of a buffer for the presence of a -"shebang", beginning with the characters "#!". If such a line is added or -modified, filetype detection is re-run. +This plugin re-runs |filetype| detection if a shebang `#!` is added or changed +in the buffer. REQUIREMENTS *shebang_change_filetype-requirements* -This plugin only loads if 'compatible' is not set, and requires the |+autocmd| -feature. It works best if the |TextChanged| event is also available. +This plugin only loads if 'compatible' is not set. It works best if the +|TextChanged| event is supported. AUTHOR *shebang_change_filetype-author* diff --git a/plugin/shebang_change_filetype.vim b/plugin/shebang_change_filetype.vim index a27cb70..03f5830 100644 --- a/plugin/shebang_change_filetype.vim +++ b/plugin/shebang_change_filetype.vim @@ -1,6 +1,6 @@ " -" shebang_change_filetype.vim: On leaving insert mode, check whether the first -" line was changed and looks like a shebang format. +" shebang_change_filetype.vim: Re-run filetype detection if a shebang #! is +" added or changed in the buffer. " " Author: Tom Ryder " License: Same as Vim itself -- cgit v1.2.3 From 5b8cf2327dd2a1ba0332c3f1dcbb0cb21bca7720 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 29 May 2019 02:37:22 +1200 Subject: Bump VERSION --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 6e8bf73..0ea3a94 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.0 +0.2.0 -- cgit v1.2.3