From 630b4622081635fec42a0d787e9ae110157ac01e Mon Sep 17 00:00:00 2001 From: amix Date: Sat, 4 May 2013 16:32:47 -0400 Subject: [PATCH] Updated plugins --- sources_non_forked/bufexplorer/doc/tags | 24 --- sources_non_forked/taglist.vim/doc/tags | 62 -------- sources_non_forked/vim-expand-region/doc/tags | 10 -- sources_non_forked/vim-less/README.md | 17 ++- .../vim-multiple-cursors/CHANGELOG.md | 8 + .../vim-multiple-cursors/README.md | 2 +- .../vim-multiple-cursors/Rakefile | 8 +- .../autoload/multiple_cursors.vim | 53 +++++-- .../vim-multiple-cursors/doc/tags | 21 --- .../plugin/multiple_cursors.vim | 1 + .../spec/benchmark_spec.rb | 141 ++++++++++++++++++ .../spec/multiple_cursors_spec.rb | 14 ++ sources_non_forked/vim-snipmate/README.rst | 3 +- .../vim-snipmate/autoload/snipMate.vim | 4 +- sources_non_forked/vim-snippets/README.md | 40 +++++ .../vim-snippets/snippets/ruby.snippets | 26 ++-- 16 files changed, 287 insertions(+), 147 deletions(-) delete mode 100644 sources_non_forked/bufexplorer/doc/tags delete mode 100644 sources_non_forked/taglist.vim/doc/tags delete mode 100644 sources_non_forked/vim-expand-region/doc/tags delete mode 100644 sources_non_forked/vim-multiple-cursors/doc/tags create mode 100644 sources_non_forked/vim-multiple-cursors/spec/benchmark_spec.rb diff --git a/sources_non_forked/bufexplorer/doc/tags b/sources_non_forked/bufexplorer/doc/tags deleted file mode 100644 index 5432bc98..00000000 --- a/sources_non_forked/bufexplorer/doc/tags +++ /dev/null @@ -1,24 +0,0 @@ -bufexplorer bufexplorer.txt /*bufexplorer* -bufexplorer-changelog bufexplorer.txt /*bufexplorer-changelog* -bufexplorer-credits bufexplorer.txt /*bufexplorer-credits* -bufexplorer-customization bufexplorer.txt /*bufexplorer-customization* -bufexplorer-installation bufexplorer.txt /*bufexplorer-installation* -bufexplorer-todo bufexplorer.txt /*bufexplorer-todo* -bufexplorer-usage bufexplorer.txt /*bufexplorer-usage* -bufexplorer-windowlayout bufexplorer.txt /*bufexplorer-windowlayout* -bufexplorer.txt bufexplorer.txt /*bufexplorer.txt* -buffer-explorer bufexplorer.txt /*buffer-explorer* -g:bufExplorerChgWin bufexplorer.txt /*g:bufExplorerChgWin* -g:bufExplorerDefaultHelp bufexplorer.txt /*g:bufExplorerDefaultHelp* -g:bufExplorerDetailedHelp bufexplorer.txt /*g:bufExplorerDetailedHelp* -g:bufExplorerFindActive bufexplorer.txt /*g:bufExplorerFindActive* -g:bufExplorerFuncRef bufexplorer.txt /*g:bufExplorerFuncRef* -g:bufExplorerReverseSort bufexplorer.txt /*g:bufExplorerReverseSort* -g:bufExplorerShowDirectories bufexplorer.txt /*g:bufExplorerShowDirectories* -g:bufExplorerShowRelativePath bufexplorer.txt /*g:bufExplorerShowRelativePath* -g:bufExplorerShowTabBuffer bufexplorer.txt /*g:bufExplorerShowTabBuffer* -g:bufExplorerShowUnlisted bufexplorer.txt /*g:bufExplorerShowUnlisted* -g:bufExplorerSortBy bufexplorer.txt /*g:bufExplorerSortBy* -g:bufExplorerSplitBelow bufexplorer.txt /*g:bufExplorerSplitBelow* -g:bufExplorerSplitOutPathName bufexplorer.txt /*g:bufExplorerSplitOutPathName* -g:bufExplorerSplitRight bufexplorer.txt /*g:bufExplorerSplitRight* diff --git a/sources_non_forked/taglist.vim/doc/tags b/sources_non_forked/taglist.vim/doc/tags deleted file mode 100644 index 83e80ba1..00000000 --- a/sources_non_forked/taglist.vim/doc/tags +++ /dev/null @@ -1,62 +0,0 @@ -'Tlist_Auto_Highlight_Tag' taglist.txt /*'Tlist_Auto_Highlight_Tag'* -'Tlist_Auto_Open' taglist.txt /*'Tlist_Auto_Open'* -'Tlist_Auto_Update' taglist.txt /*'Tlist_Auto_Update'* -'Tlist_Close_On_Select' taglist.txt /*'Tlist_Close_On_Select'* -'Tlist_Compact_Format' taglist.txt /*'Tlist_Compact_Format'* -'Tlist_Ctags_Cmd' taglist.txt /*'Tlist_Ctags_Cmd'* -'Tlist_Display_Prototype' taglist.txt /*'Tlist_Display_Prototype'* -'Tlist_Display_Tag_Scope' taglist.txt /*'Tlist_Display_Tag_Scope'* -'Tlist_Enable_Fold_Column' taglist.txt /*'Tlist_Enable_Fold_Column'* -'Tlist_Exit_OnlyWindow' taglist.txt /*'Tlist_Exit_OnlyWindow'* -'Tlist_File_Fold_Auto_Close' taglist.txt /*'Tlist_File_Fold_Auto_Close'* -'Tlist_GainFocus_On_ToggleOpen' taglist.txt /*'Tlist_GainFocus_On_ToggleOpen'* -'Tlist_Highlight_Tag_On_BufEnter' taglist.txt /*'Tlist_Highlight_Tag_On_BufEnter'* -'Tlist_Inc_Winwidth' taglist.txt /*'Tlist_Inc_Winwidth'* -'Tlist_Max_Submenu_Items' taglist.txt /*'Tlist_Max_Submenu_Items'* -'Tlist_Max_Tag_Length' taglist.txt /*'Tlist_Max_Tag_Length'* -'Tlist_Process_File_Always' taglist.txt /*'Tlist_Process_File_Always'* -'Tlist_Show_Menu' taglist.txt /*'Tlist_Show_Menu'* -'Tlist_Show_One_File' taglist.txt /*'Tlist_Show_One_File'* -'Tlist_Sort_Type' taglist.txt /*'Tlist_Sort_Type'* -'Tlist_Use_Horiz_Window' taglist.txt /*'Tlist_Use_Horiz_Window'* -'Tlist_Use_Right_Window' taglist.txt /*'Tlist_Use_Right_Window'* -'Tlist_Use_SingleClick' taglist.txt /*'Tlist_Use_SingleClick'* -'Tlist_WinHeight' taglist.txt /*'Tlist_WinHeight'* -'Tlist_WinWidth' taglist.txt /*'Tlist_WinWidth'* -:TlistAddFiles taglist.txt /*:TlistAddFiles* -:TlistAddFilesRecursive taglist.txt /*:TlistAddFilesRecursive* -:TlistClose taglist.txt /*:TlistClose* -:TlistDebug taglist.txt /*:TlistDebug* -:TlistHighlightTag taglist.txt /*:TlistHighlightTag* -:TlistLock taglist.txt /*:TlistLock* -:TlistMessages taglist.txt /*:TlistMessages* -:TlistOpen taglist.txt /*:TlistOpen* -:TlistSessionLoad taglist.txt /*:TlistSessionLoad* -:TlistSessionSave taglist.txt /*:TlistSessionSave* -:TlistShowPrototype taglist.txt /*:TlistShowPrototype* -:TlistShowTag taglist.txt /*:TlistShowTag* -:TlistToggle taglist.txt /*:TlistToggle* -:TlistUndebug taglist.txt /*:TlistUndebug* -:TlistUnlock taglist.txt /*:TlistUnlock* -:TlistUpdate taglist.txt /*:TlistUpdate* -Tlist_Get_Tag_Prototype_By_Line() taglist.txt /*Tlist_Get_Tag_Prototype_By_Line()* -Tlist_Get_Tagname_By_Line() taglist.txt /*Tlist_Get_Tagname_By_Line()* -Tlist_Set_App() taglist.txt /*Tlist_Set_App()* -Tlist_Update_File_Tags() taglist.txt /*Tlist_Update_File_Tags()* -taglist-commands taglist.txt /*taglist-commands* -taglist-debug taglist.txt /*taglist-debug* -taglist-extend taglist.txt /*taglist-extend* -taglist-faq taglist.txt /*taglist-faq* -taglist-functions taglist.txt /*taglist-functions* -taglist-install taglist.txt /*taglist-install* -taglist-internet taglist.txt /*taglist-internet* -taglist-intro taglist.txt /*taglist-intro* -taglist-keys taglist.txt /*taglist-keys* -taglist-license taglist.txt /*taglist-license* -taglist-menu taglist.txt /*taglist-menu* -taglist-options taglist.txt /*taglist-options* -taglist-requirements taglist.txt /*taglist-requirements* -taglist-session taglist.txt /*taglist-session* -taglist-todo taglist.txt /*taglist-todo* -taglist-using taglist.txt /*taglist-using* -taglist.txt taglist.txt /*taglist.txt* diff --git a/sources_non_forked/vim-expand-region/doc/tags b/sources_non_forked/vim-expand-region/doc/tags deleted file mode 100644 index 402a0c43..00000000 --- a/sources_non_forked/vim-expand-region/doc/tags +++ /dev/null @@ -1,10 +0,0 @@ -expand-region-about expand_region.txt /*expand-region-about* -expand-region-contents expand_region.txt /*expand-region-contents* -expand-region-global-options expand_region.txt /*expand-region-global-options* -expand-region-intro expand_region.txt /*expand-region-intro* -expand-region-mappings expand_region.txt /*expand-region-mappings* -expand-region-usage expand_region.txt /*expand-region-usage* -expand_region_text_objects expand_region.txt /*expand_region_text_objects* -expand_region_use_select_mode expand_region.txt /*expand_region_use_select_mode* -vim-expand-region.txt expand_region.txt /*vim-expand-region.txt* -vim-expand-regions expand_region.txt /*vim-expand-regions* diff --git a/sources_non_forked/vim-less/README.md b/sources_non_forked/vim-less/README.md index a818838d..6d15adf9 100644 --- a/sources_non_forked/vim-less/README.md +++ b/sources_non_forked/vim-less/README.md @@ -2,8 +2,8 @@ This vim bundle adds syntax highlighting, indenting and autocompletion for the dynamic stylesheet language [LESS](http://lesscss.org). -This bundle is compatible with [vim-css-color](https://github.com/skammer/vim-css-color), -[vim-css3-syntax](https://github.com/hail2u/vim-css3-syntax) and possibly other plugins that place code +This bundle is compatible with [vim-css-color](https://github.com/skammer/vim-css-color), +[vim-css3-syntax](https://github.com/hail2u/vim-css3-syntax) and possibly other plugins that place code in `after/syntax/css.vim` or `after/syntax/css/*.vim`. ![vim-less with vim-css-color and vim-css3-syntax (colorscheme solarized)](https://github.com/lenniboy/vim-less/raw/master/screenshot.png) @@ -21,14 +21,15 @@ in `after/syntax/css.vim` or `after/syntax/css/*.vim`. $ cd ~/.vim/bundle $ git clone https://github.com/groenewege/vim-less +- OR use [vundle](https://github.com/gmarik/vundle), adding this line to your `~/.vimrc`: + + Bundle 'lunaru/vim-less' + - OR use git submodules: $ git submodule add https://github.com/groenewege/vim-less.git bundle/vim-less $ git submodule init -That's it. Pathogen should handle the rest. Opening a file with a `.less` -extension will load everything. - ### Map .less to .css , lessc is required. @@ -36,6 +37,10 @@ extension will load everything. ## Credits ## -Inspiration from [vim-haml](https://github.com/tpope/vim-haml), +Inspiration from [vim-haml](https://github.com/tpope/vim-haml), [scss-syntax.vim](https://github.com/cakebaker/scss-syntax.vim) and [vim-less](https://github.com/lunaru/vim-less) + +## License ## + +MIT : [groenewege.mit-license.org](http://groenewege.mit-license.org/) diff --git a/sources_non_forked/vim-multiple-cursors/CHANGELOG.md b/sources_non_forked/vim-multiple-cursors/CHANGELOG.md index aa8b644e..d08bd09e 100644 --- a/sources_non_forked/vim-multiple-cursors/CHANGELOG.md +++ b/sources_non_forked/vim-multiple-cursors/CHANGELOG.md @@ -1,3 +1,11 @@ +## 2.1 (04/26/2013) + +Bugfixes: + - Fix 1 regression where cursors could potentially get out of sync in insert mode + +Features: + - Added some logic to debug latency. Fanning out to 30 cursors in insert mode with my vimrc took over 300ms. It's like than 20ms with a plain vimrc. Need to debug what setting is causing the slowing down in insert mode and inform users. + ## 2.0 (04/24/2013) Bugfixes: diff --git a/sources_non_forked/vim-multiple-cursors/README.md b/sources_non_forked/vim-multiple-cursors/README.md index 5bf961f7..a94de146 100644 --- a/sources_non_forked/vim-multiple-cursors/README.md +++ b/sources_non_forked/vim-multiple-cursors/README.md @@ -87,8 +87,8 @@ highlight link multiple_cursors_visual Visual ## Issues - Multi key commands like `ciw` do not work at the moment +- Insert mode can be slow. If you are using Neobundle and have many plugins, try switching to Vundle to see if it helps. See https://github.com/Shougo/neobundle.vim/issues/84 for additional info. - All user input typed before Vim is able to fan out the last operation to all cursors is lost. This is a implementation decision to keep the input perfectly synced in all locations, at the cost of potentially losing user input. -- Performance in terminal vim degrades significantly with more cursors - Select mode is not implemented ## Changelog diff --git a/sources_non_forked/vim-multiple-cursors/Rakefile b/sources_non_forked/vim-multiple-cursors/Rakefile index 70a846df..7150a287 100644 --- a/sources_non_forked/vim-multiple-cursors/Rakefile +++ b/sources_non_forked/vim-multiple-cursors/Rakefile @@ -1,5 +1,11 @@ require 'rspec/core/rake_task' -RSpec::Core::RakeTask.new(:spec) +RSpec::Core::RakeTask.new(:spec) do |t| + t.pattern = 'spec/multiple_cursors_spec.rb' +end + +RSpec::Core::RakeTask.new(:benchmark) do |t| + t.pattern = 'spec/benchmark_spec.rb' +end task :default => :spec diff --git a/sources_non_forked/vim-multiple-cursors/autoload/multiple_cursors.vim b/sources_non_forked/vim-multiple-cursors/autoload/multiple_cursors.vim index 214ad65e..227e150d 100644 --- a/sources_non_forked/vim-multiple-cursors/autoload/multiple_cursors.vim +++ b/sources_non_forked/vim-multiple-cursors/autoload/multiple_cursors.vim @@ -82,6 +82,10 @@ function! multiple_cursors#debug() call s:cm.debug() endfunction +function! multiple_cursors#get_latency_debug_file() + return s:latency_debug_file +endfunction + " Creates a new cursor. Different logic applies depending on the mode the user " is in and the current state of the buffer. " 1. In normal mode, a new cursor is created at the end of the word under Vim's @@ -352,6 +356,7 @@ function! s:CursorManager.reset(restore_view) dict let self.starting_index = -1 let self.saved_winview = [] let self.start_from_find = 0 + let s:char = '' call self.restore_user_settings() endfunction @@ -425,7 +430,7 @@ function! s:CursorManager.update_current() dict " Sets the cursor at the right place exec "normal! gv\" call cur.update_visual_selection(s:get_visual_region(s:pos('.'))) - else + elseif s:from_mode ==# 'v' || s:from_mode ==# 'V' call cur.remove_visual_selection() endif let vdelta = line('$') - s:saved_linecount @@ -714,9 +719,6 @@ function! s:revert_mode(from, to) call s:cm.reapply_visual_selection() normal! V endif - if a:to ==# 'i' - startinsert - endif if a:to ==# 'n' && a:from ==# 'i' stopinsert endif @@ -768,9 +770,9 @@ function! s:process_user_inut() " FIXME(terryma): Undo always places the cursor at the beginning of the line. " Figure out why. if s:from_mode ==# 'i' || s:to_mode ==# 'i' - silent! undojoin | call feedkeys(s:char."\(a)") + silent! undojoin | call s:feedkeys(s:char."\(a)") else - call feedkeys(s:char."\(a)") + call s:feedkeys(s:char."\(a)") endif " Even when s:char produces invalid input, this method is always called. The @@ -809,9 +811,6 @@ function! s:apply_user_input_next(mode) " Advance the cursor index call s:cm.next() - " Update Vim's cursor - call cursor(s:cm.get_current().position) - " We're done if we're made the full round if s:cm.loop_done() if s:to_mode ==# 'v' || s:to_mode ==# 'V' @@ -941,6 +940,37 @@ function! s:display_error() let s:bad_input = 0 endfunction +let s:latency_debug_file = '' +function! s:start_latency_measure() + if g:multi_cursor_debug_latency + let s:start_time = reltime() + endif +endfunction + +function! s:skip_latency_measure() + if g:multi_cursor_debug_latency + let s:skip_latency_measure = 1 + endif +endfunction + +function! s:end_latency_measure() + if g:multi_cursor_debug_latency && !empty(s:char) + if empty(s:latency_debug_file) + let s:latency_debug_file = tempname() + exec 'redir >> '.s:latency_debug_file + silent! echom "Starting latency debug at ".reltimestr(reltime()) + redir END + endif + + if !s:skip_latency_measure + exec 'redir >> '.s:latency_debug_file + silent! echom "Processing '".s:char."' took ".string(str2float(reltimestr(reltime(s:start_time)))*1000).' ms in '.s:cm.size().' cursors. mode = '.s:from_mode + redir END + endif + endif + let s:skip_latency_measure = 0 +endfunction + function! s:wait_for_user_input(mode) let s:from_mode = a:mode if empty(a:mode) @@ -958,8 +988,12 @@ function! s:wait_for_user_input(mode) " Immediately revert the change to leave the user's buffer unchanged call s:revert_highlight_fix() + call s:end_latency_measure() + let s:char = s:get_char() + call s:start_latency_measure() + " Clears any echoes we might've added normal! : @@ -970,6 +1004,7 @@ function! s:wait_for_user_input(mode) " If the key is a special key and we're in the right mode, handle it if index(get(s:special_keys, s:from_mode, []), s:char) != -1 call s:handle_special_key(s:char, s:from_mode) + call s:skip_latency_measure() else call s:cm.start_loop() call s:feedkeys("\(i)") diff --git a/sources_non_forked/vim-multiple-cursors/doc/tags b/sources_non_forked/vim-multiple-cursors/doc/tags deleted file mode 100644 index 5efd6085..00000000 --- a/sources_non_forked/vim-multiple-cursors/doc/tags +++ /dev/null @@ -1,21 +0,0 @@ -MultipleCursorsFind multiple_cursors.txt /*MultipleCursorsFind* -g:multi_cursor_exit_from_insert_mode multiple_cursors.txt /*g:multi_cursor_exit_from_insert_mode* -g:multi_cursor_exit_from_visual_mode multiple_cursors.txt /*g:multi_cursor_exit_from_visual_mode* -g:multi_cursor_next_key multiple_cursors.txt /*g:multi_cursor_next_key* -g:multi_cursor_prev_key multiple_cursors.txt /*g:multi_cursor_prev_key* -g:multi_cursor_quit_key multiple_cursors.txt /*g:multi_cursor_quit_key* -g:multi_cursor_skip_key multiple_cursors.txt /*g:multi_cursor_skip_key* -g:multi_cursor_start_key multiple_cursors.txt /*g:multi_cursor_start_key* -g:multi_cursor_use_default_mapping multiple_cursors.txt /*g:multi_cursor_use_default_mapping* -multiple-cursors-contents multiple_cursors.txt /*multiple-cursors-contents* -multiple-cursors-contributing multiple_cursors.txt /*multiple-cursors-contributing* -multiple-cursors-credit multiple_cursors.txt /*multiple-cursors-credit* -multiple-cursors-global-options multiple_cursors.txt /*multiple-cursors-global-options* -multiple-cursors-intro multiple_cursors.txt /*multiple-cursors-intro* -multiple-cursors-issues multiple_cursors.txt /*multiple-cursors-issues* -multiple-cursors-license multiple_cursors.txt /*multiple-cursors-license* -multiple-cursors-mappings multiple_cursors.txt /*multiple-cursors-mappings* -multiple-cursors-references multiple_cursors.txt /*multiple-cursors-references* -multiple-cursors-usage multiple_cursors.txt /*multiple-cursors-usage* -vim-multiple-cursors multiple_cursors.txt /*vim-multiple-cursors* -vim-multiple-cursors.txt multiple_cursors.txt /*vim-multiple-cursors.txt* diff --git a/sources_non_forked/vim-multiple-cursors/plugin/multiple_cursors.vim b/sources_non_forked/vim-multiple-cursors/plugin/multiple_cursors.vim index 7f6cfffb..d8b83471 100644 --- a/sources_non_forked/vim-multiple-cursors/plugin/multiple_cursors.vim +++ b/sources_non_forked/vim-multiple-cursors/plugin/multiple_cursors.vim @@ -30,6 +30,7 @@ let s:settings = { \ 'exit_from_visual_mode': 1, \ 'exit_from_insert_mode': 1, \ 'use_default_mapping': 1, + \ 'debug_latency': 0, \ } let s:settings_if_default = { diff --git a/sources_non_forked/vim-multiple-cursors/spec/benchmark_spec.rb b/sources_non_forked/vim-multiple-cursors/spec/benchmark_spec.rb new file mode 100644 index 00000000..99ba6c4d --- /dev/null +++ b/sources_non_forked/vim-multiple-cursors/spec/benchmark_spec.rb @@ -0,0 +1,141 @@ +require 'vimrunner' +require 'vimrunner/rspec' + +Vimrunner::RSpec.configure do |config| + + # Use a single Vim instance for the test suite. Set to false to use an + # instance per test (slower, but can be easier to manage). + config.reuse_server = false + + # Decide how to start a Vim instance. In this block, an instance should be + # spawned and set up with anything project-specific. + config.start_vim do + # vim = Vimrunner.start + # vim = Vimrunner::Server.new("/usr/local/bin/vim").start + + # Or, start a GUI instance: + vim = Vimrunner.start_gvim + + # Setup your plugin in the Vim instance + plugin_path = File.expand_path('../..', __FILE__) + vim.add_plugin(plugin_path, 'plugin/multiple_cursors.vim') + + # The returned value is the Client available in the tests. + vim + end +end + +def set_file_content(string) + string = normalize_string_indent(string) + File.open(filename, 'w'){ |f| f.write(string) } + vim.edit filename +end + +def get_file_content() + vim.write + IO.read(filename).strip +end + +def before(string) + set_file_content(string) +end + +def after(string) + get_file_content().should eq normalize_string_indent(string) + type ":q" +end + +def type(string) + string.scan(/<.*?>|./).each do |key| + if /<.*>/.match(key) + vim.feedkeys "\\#{key}" + else + vim.feedkeys key + end + end + sleep 0.2 +end + +describe "Multiple Cursors" do + let(:filename) { 'test.txt' } + + specify "#benchmark" do + before <<-EOF + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + hello + EOF + + # type ':profile start /tmp/test.result' + # type ':profile! file *multiple_cursors.vim' + type ':let g:multi_cursor_debug_latency=1' + + type 'VGVchellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello' + + type ':echo multiple_cursors#get_latency_debug_file()' + sleep 3 + latency_file = vim.command 'echo multiple_cursors#get_latency_debug_file()' + puts 'latency file = ' + latency_file + + after <<-EOF + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello + EOF + end + +end diff --git a/sources_non_forked/vim-multiple-cursors/spec/multiple_cursors_spec.rb b/sources_non_forked/vim-multiple-cursors/spec/multiple_cursors_spec.rb index 4ea5a4f9..590222eb 100644 --- a/sources_non_forked/vim-multiple-cursors/spec/multiple_cursors_spec.rb +++ b/sources_non_forked/vim-multiple-cursors/spec/multiple_cursors_spec.rb @@ -256,4 +256,18 @@ describe "Multiple Cursors" do hell EOF end + + specify "#multiline visual mode" do + before <<-EOF + hello + hello + EOF + + type 'VjA world' + + after <<-EOF + hello world + hello world + EOF + end end diff --git a/sources_non_forked/vim-snipmate/README.rst b/sources_non_forked/vim-snipmate/README.rst index e848fd25..dc1609a1 100644 --- a/sources_non_forked/vim-snipmate/README.rst +++ b/sources_non_forked/vim-snipmate/README.rst @@ -14,7 +14,7 @@ In other words: upstream of snipmate is almost dead. (Better to say Marc Weber i :Author: `Michael Sanders`_ :Maintainer: `Adnan Zafar`_ & `Rok Garbas`_ & `Marc Weber`_ :Homepage: http://www.vim.org/scripts/script.php?script_id=2540 -:Contributors: `MarcWeber`_, `lilydjwg`_, `henrik`_, `steveno`_, `asymmetric`_, `jherdman`_, `ironcamel`_, `honza`_, `jb55`_, `robhudson`_, `kozo2`_, `MicahElliott`_, `darkwise`_, `redpill`_, `thisgeek`_, `sickill`_, `pose`_, `marutanm`_, `r00k`_, `jbernard`_, `holizz`_, `muffinresearch`_, `statik`_, `taq`_, `alderz`_, `radicalbit`_, `pielgrzym`_ +:Contributors: `MarcWeber`_, `lilydjwg`_, `henrik`_, `steveno`_, `asymmetric`_, `jherdman`_, `ironcamel`_, `honza`_, `jb55`_, `robhudson`_, `kozo2`_, `MicahElliott`_, `darkwise`_, `redpill`_, `thisgeek`_, `sickill`_, `pose`_, `marutanm`_, `r00k`_, `jbernard`_, `holizz`_, `muffinresearch`_, `statik`_, `taq`_, `alderz`_, `radicalbit`_, `pielgrzym`_, `hpesoj`_ .. contents:: @@ -255,3 +255,4 @@ TODO / Future .. _`vim.org`: http://www.vim.org/scripts/script.php?script_id=2540 .. _`GitHub`: http://github.com/msanders/snipmate.vim .. _`radicalbit`: https://github.com/radicalbit +.. _`hpesoj`: https://github.com/hpesoj diff --git a/sources_non_forked/vim-snipmate/autoload/snipMate.vim b/sources_non_forked/vim-snipmate/autoload/snipMate.vim index 03329874..5b6c74d9 100644 --- a/sources_non_forked/vim-snipmate/autoload/snipMate.vim +++ b/sources_non_forked/vim-snipmate/autoload/snipMate.vim @@ -324,9 +324,7 @@ function! s:state_proto.update_changes() let col = col('.') if line('.') != self.cur_stop[0] || col < self.start_col || col > self.end_col call self.remove() - endif - - if self.has_vars + elseif self.has_vars call self.update_vars(change_len) endif diff --git a/sources_non_forked/vim-snippets/README.md b/sources_non_forked/vim-snippets/README.md index 6846edb2..720c58b3 100644 --- a/sources_non_forked/vim-snippets/README.md +++ b/sources_non_forked/vim-snippets/README.md @@ -69,6 +69,41 @@ Historical notes unfortunately abandoned the project. [Rok Garbas][3] is now maintaining a [fork][4] of the project in hopes of improving the existing code base. +Versions / dialects / .. +======================== +There are some issues, such as newer language versions may require other +snippets than older. If this exists we currently recommend doing this: + +add snippets/ruby.snippets (common snippets) +add snippets/ruby-1.8.snippets (1.8 only) +add snippets/ruby-1.9.snippets (1.9 only) + +then configure github.com/garbas/vim-snipmate this way: + + let g:snipMate = {} + let g:snipMate.scope_aliases = {} + let g:snipMate.scope_aliases['ruby'] = 'ruby,ruby-rails,ruby-1.9' + +or github.com/MarcWeber/UltiSnips this way: + + + let g:UltiSnips = {} + + let g:UltiSnips.snipmate_ft_filter = { + \ 'default' : {'filetypes': ["FILETYPE"] }, + \ 'ruby' : {'filetypes': ["ruby", "ruby-rails", "ruby-1.9"] }, + + +If it happens that you work on a project requiring ruby-1.8 snippets instead, +consider using vim-addon-local-vimrc and override the filetypes. + +Well - of course it may not make sense to create a new file for each +ruby-library-version triplet. Sometimes postfixing a name such as + + migrate_lib_20_down + migrate_lib_20_up + +will do it then if syntax has changed. Language maintainers -------------------- @@ -76,6 +111,11 @@ Language maintainers No one can really be proficient in all programming languages. If you would like to maintain snippets for a language, please get in touch. +Notes: People are interested in snippets - and their interest may stop again +at will. So its ok if people maintain a language only for a short period of +time - or jump in and get things done - don't let the flow stop :) +vim-snippets is not like the "linux kernel". + * Python - [honza](http://github.com/honza) * Javascript - [honza](http://github.com/honza) * HTML Django - [honza](http://github.com/honza) diff --git a/sources_non_forked/vim-snippets/snippets/ruby.snippets b/sources_non_forked/vim-snippets/snippets/ruby.snippets index a9b45ad4..aa762727 100644 --- a/sources_non_forked/vim-snippets/snippets/ruby.snippets +++ b/sources_non_forked/vim-snippets/snippets/ruby.snippets @@ -589,6 +589,8 @@ snippet bf before_filter :${1:method} snippet bt belongs_to :${1:association} +snippet btp + belongs_to :${1:association}, :polymorphic => true${2} snippet crw cattr_accessor :${1:attr_names} snippet defcreate @@ -890,22 +892,27 @@ snippet mrnc rename_column :${1:table_name}, :${2:old_column_name}, :${3:new_column_name} snippet mcc change_column :${1:table}, :${2:column}, :${3:type} -snippet mccc - t.column :${1:title}, :${2:string} +snippet mnc + t.${1:string} :${2:title}${3:, null: false}${4} snippet mct create_table :${1:table_name} do |t| - t.column :${2:name}, :${3:type} + ${2} end -snippet migration +snippet migration class .. < ActiveRecord::Migration .. def up .. def down .. end class ${1:class_name} < ActiveRecord::Migration - def self.up + def up ${2} end - def self.down + def down + end + end +snippet migration class .. < ActiveRecord::Migration .. def change .. end + class ${1:class_name} < ActiveRecord::Migration + def change + ${2} end end - snippet trc t.remove :${1:column} snippet tre @@ -913,7 +920,6 @@ snippet tre ${3} snippet tref t.references :${1:model} - #rspec snippet it it "${1:spec_name}" do @@ -944,7 +950,9 @@ snippet aft ${2} end snippet let - let(:${1:method}) { ${2} } + let(:${1:object}) ${2:block} +snippet let! + let!(:${1:object}) ${2:block} snippet subj subject { ${1} } snippet spec