| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| | |
* feature/gvimrc-refactor:
Set 'guioptions' flag by flag
Use variable setting approach for 'guifont'
|
| |
| |
| |
| |
| | |
This is a bit easier to read than having the flags meanings in a block
comment above the line.
|
| |
| |
| |
| | |
A little easier to read.
|
|\ \
| | |
| | |
| | |
| | |
| | | |
* feature/plugin-short-circuit:
Add short-circuit boilerplate to plugins
Simplify shell linting code with single vars
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/
| |
| |
| |
| | |
Put the entire command line for the determined check and lint into the
variable, so it can just be directly executed.
|
| |
| |
| |
| | |
'InsertEnter' and 'InsertLeave' are not autocmd events in Vim 6.1.
|
|/
|
|
|
|
| |
'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'.
|
|\
| |
| |
| |
| | |
* feature/space-dots:
Use spaces around concat dots in VimL consistently
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
A brief explanation, an author name, and the license should do fine.
|
| |
| |
| |
| |
| | |
I strongly suspect the presence of 'user_commands' implies it, but I'm
not sure.
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Pretty useless, really.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
Calling this one copy_linebreak.vim. Renamed both the internal function
and the plugin key.
|
| |
| |
| |
| |
| | |
Again using the <Plug> mapping abstraction and not defining the mapping
for the user.
|
| |
| |
| |
| |
| |
| | |
This properly abstracts out the StripTrailingWhitespace mapping rather
than forcing it to <leader>x within the plugin itself. A bit nicer this
way.
|
| |
| |
| |
| | |
The word "size" was added to this variable's name unnecesarily.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| | |
Tentatively named command_typos.vim. I've just moved this as-is for now,
but it will need review, especially the hardcoded mappings.
|
| |
| |
| |
| |
| | |
This was causing a tiny build of Vim to raise errors about :let being
an unavailable command.
|
| |
| |
| |
| | |
Runs `vint -s`; the -s includes stylistic suggestions.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
The commands to use in this case are dependent on the particular shell
being used.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a much better method of calling external programs on the
buffer's contents, not just because it avoids the mess of :execute
evaluation but also because it doesn't require that there actually be a
filename for the current buffer.
This drastically simplifies the HTML tidy(1) call in particular.
|
| |
| |
| |
| | |
We should probably avoid this sort of abbreviation in scripts.
|
| |
| |
| |
| |
| | |
It doesn't seem to be in very old Vims; worth testing for to avoid
errors if I try to use the function.
|
| |
| |
| |
| |
| |
| |
| |
| | |
I thought text objects were introduced to Vim a lot later than they
actually were; this works fine even in Vim 6, so I'll leave it as it's
nicer.
This reverts commit ffb5cbc7c681e2fdcb780dbdc51cf3458a937791.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Tidy up the 'normal!' commands and comment them in appropriate groups.
Take advantage of the natural command-termination at the end of a
'normal!' string to end insert mode.
It would be better to do all of this with pure VimL functions, but I
don't know how yet.
|
| |
| |
| |
| | |
Saves some backslashing, just like in shell and Perl!
|
| |
| |
| |
| |
| | |
Move the logic into a script function. Use single quotes for the
strings, too, since we don't need interpolation.
|
| |
| |
| |
| |
| |
| |
| | |
From ":help <LocalLeader>":
> In a global plugin <Leader> should be used and in a filetype plugin
> <LocalLeader>. "mapleader" and "maplocalleader" can be equal.
|
|\ \
| | |
| | |
| | |
| | |
| | | |
* hotfix/v0.4.2:
Require eval feature for netrw opts assignment
Bump version number to 0.4.2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Tiny builds of Vim that exclude the eval feature throw errors at the
:let commands in this file:
$ vim.tiny
Error detected while processing /home/tom/.vim/config/netrw.vim:
line 2:
E319: Sorry, the command is not available in this version: let g:netrw_banner = 0
line 5:
E319: Sorry, the command is not available in this version: let g:netrw_silent = 1
line 8:
E319: Sorry, the command is not available in this version: let g:netrw_liststyle = 3
line 11:
E319: Sorry, the command is not available in this version: let g:netrw_list_hide = '^\.$,^tags$'
Press ENTER or type command to continue
This code was not being run on such builds before commit 538b71c,
because it was in an "after" directory for the netrw plugin and would
have been skipped.
Wrapping a check for has('eval') around this whole file fixes the
problem. netrw.vim won't run without this feature anyway.
|