535 Commits

Author SHA1 Message Date
587aeef5d7 Use signcolumn=number when available 2021-04-18 14:42:33 +01:00
c67f11a8f5 Fix statusline l:mode map indentation 2021-04-18 14:42:33 +01:00
cef963d805 Remove a unused scriptencoding
There are no utf-8 special characters in the file anymore.
2021-04-18 14:42:33 +01:00
dc6a8b0032 Get rid of scrolloff 2021-04-18 14:42:33 +01:00
9a1b1ed2fc Replace vim-airline with a custom statusline
Finally got round to making a custom statusline after being inspired by
https://pastebin.com/Fm1NEgBf
2021-04-18 14:42:33 +01:00
bee751201d Add list of global coc extensions 2021-04-18 14:42:33 +01:00
eb1a4a71d8 Check if .vim directory exists before use
Update `build#dir()` to check for the existence of the `.vim` directory
containing `coc_settings.json` before attempting to read the file. If it
doesn't exist then create it.
2021-04-18 14:42:33 +01:00
bf6deaf1ed Configure cmake-language-server and coc-cmake
Utilises the following Python package:

```console
$ pip3 install --user cmake-language-server
```
2021-04-18 14:42:33 +01:00
8a2ca8c53f Update build#dir() to configure coc-clangd 2021-04-18 14:42:33 +01:00
824aeb431a Replace remaining YouCompleteMe mappings 2021-04-18 14:42:33 +01:00
4a99f582f3 Replace YouCompleteMe with coc.nvim 2021-04-18 14:42:33 +01:00
3b3121aa28 fresh: NonText as SpecialKey
Don't use `set highlight` to highlight `NonText` like `SpecialKey`,
instead simply set the color of `NonText` in the colorscheme.
2021-04-18 14:42:33 +01:00
82303f075e Move RST settings together 2021-02-06 11:05:23 +00:00
92a23103e3 Fix vim-tmux-focus-events errors in command-line
When changing focus away and back to vim while in the middle of editing
the command-line, vim-tmux-focus-events emits errors from the function
called by the `:cnoremap` mappings. This patch replaces these mappings
with a call to `do#sink()` which does nothing. Simply removing the
mappings will result in `<F24><F25>` being inserted on the command-line
since tmux will send this text when `tmux set-option -g focus-events
on`, this is why `do#sink()` is needed.
2021-01-27 19:23:13 +00:00
9c64158445 Replace vim-gitgutter with vim-signify
vim-gitgutter is buggy. vim-signify might be better, it does allow
configuration of which events trigger a sign column update and this
patch takes advantage of that. Firstly, the `CursorHold` and
`CursorHoldI` events are disabled and replaced with `InsertLeave` and
`TextChanged` events. This makes the sign column updates immediate, and
since vim-signify is asynchronous it's faster too.
2021-01-26 23:45:49 +00:00
eac02b26d3 Add xterm-kitty to list of supported $TERM values 2021-01-25 21:37:09 +00:00
aaa8acf5a2 Update build#dir() to open a popup_menu()
Use `popup_menu()` in `build#dir()` when the `:BuildDir` command is uses
without an argument to specify a build directory. If there are no build
directories, print an error message. If there is a single build
directory, use it. If there are multiple build directories use
`popup_menu()` to prompt the user to select the desired build directory.

Update `build#targets()` and `build#run()` with comments and error
messages.
2021-01-06 00:23:32 +00:00
c94bc3ba90 Add autoloaded echomsg utility functions
* `echo#warning({message})` sets `echohl WarningMsg` and echos the message
* `echo#error({message})` sets `echohl ErrorMsg` and echos the message
2021-01-06 00:23:19 +00:00
a0df92852a Add :Build command to invoke ninja or make
The `:Build [<target> ...]` command utilises the `$BUILD_DIR` variable set
by `:BuildDir {directory}` to invoke `ninja` or `make` based on the
existence of `$BUILD_DIR/build.ninja` or `$BUILD_DIR/Makefile`
respectively. The following commands are invoked in a new `:terminal`
window.

* `ninja -C $BUILD_DIR [<target> ...]` when `$BUILD_DIR/build.ninja` exists
* `make -C $BUILD_DIR [<target> ...]` when `$BUILD_DIR/Makefile` exists

In the case of `ninja`, completion for the targets supplied to the
`:Build` command is made available by the `build#targets()` function.
The list of targets returned by `ninja -C $BUILD_DIR -t targets` is
processed to generate the list of targets. Support for `make` target
completion is less straight forwards so has been omitted for now.
2021-01-05 21:45:43 +00:00
0cd93f1823 Generalise tmux option check 2020-12-31 18:22:37 +00:00
db2079994a Disable some cmakelint checks in ale
Some of `cmakelint`s opinions around convention don't provide a benefit.
2020-12-14 15:14:24 +00:00
c17f7ea0d9 Refactor tmux and set-clipboard detection
Move logic to `autoload/tmux.vim` to detect the `vim` is being run
inside a `tmux` sessions and if the `set-clipboard` option is enabled.
This cleans up adding the optional `oscyank.vim` plugin when needed.
2020-12-10 18:07:24 +00:00
76acb9cd90 Once again fix minpac initialization 2020-12-10 17:41:17 +00:00
48913e09c3 Fix isdirectory() uses with relative paths
After upgrading VIM 8.2 (2019 Dec 12, compiled Oct 24 2020 16:26:37)
uses of `isdirectory()` with relative paths in `$MYVIMRC` stopped
working. These must now be absolute paths.
2020-12-10 17:38:58 +00:00
e4a11a2ffe Fix package load init order bugs
* Move calls to `minpac#init()` into commands which use minpac
* Check if optional package directories exist before using `packadd`
2020-11-28 17:16:11 +00:00
3cc1e3d2d8 Change some Python highlight groups 2020-10-26 13:33:43 +00:00
6435ed4c4d Add TODO to cpp syntax 2020-10-26 13:33:14 +00:00
d063e60559 Make explicit more implicit (and changed) hl groups 2020-10-26 13:32:47 +00:00
bc1de2d37f Change Markdown default conceallevel 2020-10-07 11:31:08 +01:00
9e6169695d Use the patience diff method 2020-10-07 11:30:48 +01:00
80c1b8653e Highlight Exception group as Conditional 2020-10-07 11:30:08 +01:00
445ca8d6fd Highlight the delimiter group 2020-10-06 17:17:13 +01:00
d960053dfc Add :BuildDir to select YouCompleteMe build directory 2020-10-06 17:12:06 +01:00
b148f9fb68 Make sure CMake statements are highlighted as statements 2020-10-06 17:11:17 +01:00
529867b475 conduit: Don't automatically install/update packs 2020-08-04 13:59:08 +01:00
3449b3f815 Disable automatic hover in YouCompleteMe 2020-07-21 12:01:41 +01:00
67b9c6b45a Check tmux exists before loading osc52 2020-07-19 20:25:29 +01:00
01059ac01a Enable YouCompleteMe on Windows 2020-07-19 20:25:29 +01:00
858677ef79 Add jinja snippets inheriting from html 2020-07-18 13:54:22 +01:00
22b969c989 Add README file 2020-06-04 17:36:18 +01:00
158a6f5585 Don't let vim-matchup overwrite statusline 2020-05-14 12:53:21 +01:00
3ffda34a29 Remove Markdown todo highlights 2020-04-07 13:23:16 +01:00
3e639c4936 Remove extra HTML syntax todo highlights 2020-04-07 13:22:35 +01:00
b40a9abb59 Only load YouCompleteMe when :TermDebug isn't 2020-04-02 12:14:13 +01:00
8fac5fb74f Add OSC 52 escape sequence yank
If the `tmux` `set-clipboard` option is set to `on` add the `osc52yank`
plugin and change `<leader>y` mapping to use it.
2020-04-02 12:12:57 +01:00
72316785d5 Add CMake reStructuredText block snippet 2020-04-02 12:11:46 +01:00
b3a2208b42 Don't gate Python plugins on has('python') 2020-01-28 10:48:28 +00:00
a93489efe9 Add console filetype for Markdown/RST code blocks 2020-01-28 10:48:22 +00:00
489e6db231 Use tip YouCompleteMe from ycm-core org
Update to latest, community maintained, YouCompleteMe version and use
the same version on all platforms.
2020-01-16 23:27:15 +00:00
2bef425dee Enable fzf plugins on Windows 2020-01-14 10:41:49 +00:00