aboutsummaryrefslogtreecommitdiff
path: root/vim
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't report lines deleted after stripping spaceTom Ryder2017-11-051-1/+1
| | | | | Prepend the line :delete command with a :silent to stop it reporting the number of lines it removed.
* Move 'formatoptions-a' test near applicable blockTom Ryder2017-11-051-6/+6
| | | | Just to keep related things together.
* Precisely define 'formatoptions' 'a' flag presenceTom Ryder2017-11-051-1/+2
| | | | | | | | | | | | | :help version6.txt, /^Patch 6\.1\.142: > Patch 6.1.142 > Problem: Defining paragraphs without a separating blank line isn't > possible. Paragraphs can't be formatted automatically. > Solution: Allow defining paragraphs with lines that end in white > space. Added the 'w' and 'a' flags in 'formatoptions'. > Files: runtime/doc/change.txt, src/edit.c, src/misc1.c, > src/normal.c, src/option.h, src/ops.c, src/proto/edit.pro, > src/proto/ops.pro, src/vim.h
* Restructure 'format' flag logic around vim-tinyTom Ryder2017-11-051-24/+31
| | | | | | Put in appropriate 'eval' checks and adjust the order of evaluation so that vim-tiny doesn't try to run all this and fail due to the absence of 'eval' for :let.
* Map <leader>j to toggle 'fo'-'j' flag in VimTom Ryder2017-11-051-7/+12
| | | | | This is implemented in the same way as done for 'fo'-'a'; testing for the presence of the flag based on known version tests first.
* Use :echoerr not :echomsg for 'fo'-'a' absenceTom Ryder2017-11-051-1/+1
| | | | | A bit clearer as the mapping was clearly called in error, and results in not being able to do what was need.
* Use simpler error message for 'fo'-'a' absenceTom Ryder2017-11-051-1/+1
|
* Keep script var cache of 'a' 'fo' flag supportTom Ryder2017-11-051-2/+7
| | | | Use the result to decide how to map <Leader>a.
* Keep script var cache of 'j' 'fo' flag supportTom Ryder2017-11-051-3/+6
| | | | We'll use this in a subsequent commit to decide how to map <Leader>j.
* Lower threshold for 'formatoptions' 'a' flagTom Ryder2017-11-051-3/+3
| | | | I have found it works correctly on an instance of Vim 7.0.
* Block 'formatoptions' 'a' flag on old Vim versionsTom Ryder2017-11-051-6/+20
| | | | | If I ever care, this needs more careful testing to find the version in which the flag was added.
* Add 'abort' attribute to autoload functionTom Ryder2017-11-051-1/+1
| | | | | | | | | `vint -s` says: > vim/autoload/detect_background.vim:16:1: Use the abort attribute for > functions in autoload (see Google VimScript Style Guide (Functions)) All right, then. Doesn't seem to break vim.tiny or Vim 6.1.
* Actually remove the html5 and targets submodulesTom Ryder2017-11-052-0/+0
| | | | | These were removed from .gitmodules in commits 59baf3a and cddacef respectively, but the directory stub from vim/bundle was not removed.
* Use BufReadPost hook for big_file_options.vimTom Ryder2017-11-051-4/+4
| | | | | | | Using BufReadPre meant that it was too early to set the 'syntax' option locally for the buffer. This fixes that, and also works correctly for cases where the buffer does not necessarily correspond to a file on disk.
* Merge branch 'feature/gvimrc-refa...' into developTom Ryder2017-11-051-5/+10
|\ | | | | | | | | | | * feature/gvimrc-refactor: Set 'guioptions' flag by flag Use variable setting approach for 'guifont'
| * Set 'guioptions' flag by flagTom Ryder2017-11-041-3/+8
| | | | | | | | | | This is a bit easier to read than having the flags meanings in a block comment above the line.
| * Use variable setting approach for 'guifont'Tom Ryder2017-11-041-2/+2
| | | | | | | | A little easier to read.
* | Merge branch 'feature/plugin-shor...' into developTom Ryder2017-11-058-207/+236
|\ \ | | | | | | | | | | | | | | | * feature/plugin-short-circuit: Add short-circuit boilerplate to plugins Simplify shell linting code with single vars
| * | Add short-circuit boilerplate to pluginsTom Ryder2017-11-047-199/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set a g:loaded_* flag to prevent repeated reloads, and refuse to load at all if &compatible is set or if required features are missing. Some more accommodating plugins avoid the problems 'compatible' causes by saving its value at startup into a script variable, setting the option to the Vim default, and then restoring it when the plugin is done, to prevent any of its flags from interfering in the plugin code: let s:save_cpo = &cpo set cpo&vim ... let &cpo = s:save_cpo unlet s:save_cpo I don't want this boilerplate, so I'm going to do what Tim Pope's modules seem to, and just have the plugin refuse to do a single thing if 'compatible' is set.
| * | Simplify shell linting code with single varsTom Ryder2017-11-041-8/+8
| |/ | | | | | | | | Put the entire command line for the determined check and lint into the variable, so it can just be directly executed.
* | Limit search highlighting hooks to Vim >= 7.1Tom Ryder2017-11-051-1/+1
| | | | | | | | 'InsertEnter' and 'InsertLeave' are not autocmd events in Vim 6.1.
* | Add explanatory note for choosing imperfect remapTom Ryder2017-11-051-1/+4
|/ | | | | | 'vnoremap' also includes select mode, which I very seldom use anyway; in this context it's not worth breaking compatibility with old Vims to use the more accurate 'xnoremap'.
* Merge branch 'feature/space-dots' into developTom Ryder2017-11-043-5/+5
|\ | | | | | | | | * feature/space-dots: Use spaces around concat dots in VimL consistently
| * Use spaces around concat dots in VimL consistentlyTom Ryder2017-11-043-5/+5
| |
* | Adjust plugin code layout a lotTom Ryder2017-11-0424-67/+149
|/ | | | | | | | | | | | | Including renaming big_file.vim and accompanying functions yet again, to big_file_options.vim. Trying to keep complex autocmd and mapping definitions on long lines broken up semantically; definition and options on one line, patterns or mapping key on the next, and the command to run on the last. Also trying to make sure that <silent>, <buffer>, and <unique> are applied in the correct places, and that all mapping commands are using the :<C-U> idiom for the command prefix.
* Merge branch 'feature/spin-vim-plug' into developTom Ryder2017-11-0420-194/+326
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feature/spin-vim-plug: Rename toggle plugin again, use commands not funcs Add short documentation for new custom plugins Use same comment boilerplate for custom plugins Check 'eval' feature for loading command_typos.vim Wrap detect_background.vim func call in 'silent!' Rename and refactor option toggle plugin Don't suggest mappings in Vim plugin comments Move Vim background detection logic into plugin Specify an install-vim-autoload target Spin 'fo' toggle out into new flag toggler plugin Spin copyable linebreak config into new plugin Spin stable join config out into new plugin Use <Plug> prefix, make space strip configurable Rename a misnamed variable in big_file.vim Rename bigfile plugin to big_file Move trailing space strip config into plugin Separate command typos config to plugin
| * Rename toggle plugin again, use commands not funcsTom Ryder2017-11-045-74/+68
| | | | | | | | | | | | This method makes a bit more sense, and amounts to slightly less verbose mapping commands. It does really on the +user_commands feature being available, however.
| * Add short documentation for new custom pluginsTom Ryder2017-11-046-0/+77
| | | | | | | | | | | | | | | | | | I'm using the plugin_name.txt syntax suggested by the Vim documentation. That may change in future as I study plugins written by experienced authors like Tim Pope. There will almost certainly be a lot more detail to add to each of these.
| * Use same comment boilerplate for custom pluginsTom Ryder2017-11-046-3/+25
| | | | | | | | A brief explanation, an author name, and the license should do fine.
| * Check 'eval' feature for loading command_typos.vimTom Ryder2017-11-041-1/+1
| | | | | | | | | | I strongly suspect the presence of 'user_commands' implies it, but I'm not sure.
| * Wrap detect_background.vim func call in 'silent!'Tom Ryder2017-11-041-1/+1
| | | | | | | | | | | | This prevents older versions of Vim like 6.2 from throwing "E1017: Missing braces" on merely parsing this code, even though they don't evaluate it.
| * Rename and refactor option toggle pluginTom Ryder2017-11-042-54/+51
| | | | | | | | | | | | | | | | Renamed to flag_toggle.vim and placed in autoload using the namespaced autoload function syntax. I'm not sure this is the right approach yet, but I seem to pretty rarely use a Vim earlier than 7.1 these days.
| * Don't suggest mappings in Vim plugin commentsTom Ryder2017-11-044-6/+0
| | | | | | | | Pretty useless, really.
| * Move Vim background detection logic into pluginTom Ryder2017-11-042-25/+20
| |
| * Spin 'fo' toggle out into new flag toggler pluginTom Ryder2017-11-042-27/+62
| | | | | | | | | | | | | | | | | | This is an experimental new plugin that provides a command to toggle individual single-character flags in an option with a value of a set of such flags, in my case 'formatoptions'. A fair bit of evil eval()ing via :execute here, but I've tried to control it with some strict patern matching.
| * Spin copyable linebreak config into new pluginTom Ryder2017-11-042-34/+40
| | | | | | | | | | Calling this one copy_linebreak.vim. Renamed both the internal function and the plugin key.
| * Spin stable join config out into new pluginTom Ryder2017-11-042-21/+30
| | | | | | | | | | Again using the <Plug> mapping abstraction and not defining the mapping for the user.
| * Use <Plug> prefix, make space strip configurableTom Ryder2017-11-042-4/+8
| | | | | | | | | | | | This properly abstracts out the StripTrailingWhitespace mapping rather than forcing it to <leader>x within the plugin itself. A bit nicer this way.
| * Rename a misnamed variable in big_file.vimTom Ryder2017-11-041-4/+4
| | | | | | | | The word "size" was added to this variable's name unnecesarily.
| * Rename bigfile plugin to big_fileTom Ryder2017-11-042-13/+13
| | | | | | | | | | | | | | | | Just for consistency with the other plugins I'm making. I don't think I really like the cutesy names given to Vim plugins. I prefer the slightly longer and maybe even namespaced names like Perl distributions and modules have. Let's see how well this works.
| * Move trailing space strip config into pluginTom Ryder2017-11-031-0/+0
| |
| * Separate command typos config to pluginTom Ryder2017-11-032-15/+14
| | | | | | | | | | Tentatively named command_typos.vim. I've just moved this as-is for now, but it will need review, especially the hardcoded mappings.
* | Check for 'eval' feature before mapleader :letTom Ryder2017-11-041-2/+4
| | | | | | | | | | This was causing a tiny build of Vim to raise errors about :let being an unavailable command.
* | Add lint mapping for VimscriptTom Ryder2017-11-041-0/+5
| | | | | | | | Runs `vint -s`; the -s includes stylistic suggestions.
* | Specify scope of mapleader variablesTom Ryder2017-11-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | `vint -s` says: vim/config/leader.vim:2:5: Make the scope explicit like `g:mapleader` (see Anti-pattern of vimrc (Scope of identifier)) vim/config/leader.vim:3:5: Make the scope explicit like `g:maplocalleader` (see Anti-pattern of vimrc (Scope of identifier)) This does still seem to work with the prefixes, despite not being the way the documentation specifies the variables.
* | Use underscore as local map leaderTom Ryder2017-11-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should allow me to mentally separate actions specific to a buffer type from actions that apply to buffers in general. It also removes the overlap of <leader>l for 'list' toggling and filetype linting. From ":help maplocalleader": > <LocalLeader> is just like <Leader>, except that it uses > "maplocalleader" instead of "mapleader". <LocalLeader> is to be used > for mappings which are local to a buffer. Example: > > :map <buffer> <LocalLeader>A oanother line<Esc> > > In a global plugin <Leader> should be used and in a filetype plugin > <LocalLeader>. "mapleader" and "maplocalleader" can be equal. > Although, if you make them different, there is a smaller chance of > mappings from global plugins to clash with mappings for filetype > plugins. For example, you could keep "mapleader" at the default > backslash, and set "maplocalleader" to an underscore.
* | Add check and lint mappings for shell scriptTom Ryder2017-11-041-0/+22
| | | | | | | | | | The commands to use in this case are dependent on the particular shell being used.
* | Add tidy mapping for HTMLTom Ryder2017-11-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | This mapping mirrors the one for Perl that passes the content of the buffer through a program to tidy it (i.e. not merely check but actively change it). The tidy(1) option chosen here, -quiet, is the bare minimum to make this invocation useful. We would never want the boilerplate it otherwise emits to be in the buffer after a call. Everything else should be applied in a configuration file, which I'll do in a separate feature.
* | Break long lines in check/lint/tidy mappingsTom Ryder2017-11-042-5/+12
| |
* | Make all lint/check/tidy maps local and silentTom Ryder2017-11-042-5/+5
| | | | | | | | | | | | That is, apply <buffer> and <silent> to each of them, to make them only apply to the current buffer and to prevent them from echoing the command they're running.