diff --git a/dot_vim/plugged/ale/Dockerfile b/dot_vim/plugged/ale/Dockerfile
deleted file mode 100644
index 2985ecc..0000000
--- a/dot_vim/plugged/ale/Dockerfile
+++ /dev/null
@@ -1,27 +0,0 @@
-FROM testbed/vim:24
-
-RUN install_vim -tag v8.0.0027 -build \
- -tag v9.0.0297 -build \
- -tag neovim:v0.2.0 -build \
- -tag neovim:v0.8.0 -build
-
-ENV PACKAGES="\
- bash \
- git \
- python2 \
- python3 \
- py3-pip \
- grep \
- sed \
-"
-RUN apk --update add $PACKAGES && \
- rm -rf /var/cache/apk/* /tmp/* /var/tmp/*
-
-RUN pip install vim-vint==0.3.21
-
-RUN git clone https://github.com/junegunn/vader.vim vader && \
- cd vader && git checkout c6243dd81c98350df4dec608fa972df98fa2a3af
-
-ARG GIT_VERSION
-LABEL Version=${GIT_VERSION}
-LABEL Name=denseanalysis/ale
diff --git a/dot_vim/plugged/ale/LICENSE b/dot_vim/plugged/ale/LICENSE
deleted file mode 100644
index 584cc5b..0000000
--- a/dot_vim/plugged/ale/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2016-2023, Dense Analysis
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/dot_vim/plugged/ale/README.md b/dot_vim/plugged/ale/README.md
deleted file mode 100644
index 0236944..0000000
--- a/dot_vim/plugged/ale/README.md
+++ /dev/null
@@ -1,963 +0,0 @@
-# Asynchronous Lint Engine [](https://github.com/dense-analysis/ale/actions?query=event%3Apush+workflow%3ACI+branch%3Amaster++) [](https://ci.appveyor.com/project/dense-analysis/ale) [](https://discord.gg/5zFD6pQxDk)
-
-
-
-
-ALE (Asynchronous Lint Engine) is a plugin providing linting (syntax checking
-and semantic errors) in NeoVim 0.2.0+ and Vim 8 while you edit your text files,
-and acts as a Vim [Language Server Protocol](https://langserver.org/) client.
-
-
-
-ALE makes use of NeoVim and Vim 8 job control functions and timers to
-run linters on the contents of text buffers and return errors as
-text is changed in Vim. This allows for displaying warnings and
-errors in files being edited in Vim before files have been saved
-back to a filesystem.
-
-In other words, this plugin allows you to lint while you type.
-
-ALE offers support for fixing code with command line tools in a non-blocking
-manner with the `:ALEFix` feature, supporting tools in many languages, like
-`prettier`, `eslint`, `autopep8`, and more.
-
-ALE acts as a "language client" to support a variety of Language Server Protocol
-features, including:
-
-* Diagnostics (via Language Server Protocol linters)
-* Go To Definition (`:ALEGoToDefinition`)
-* Completion (Built in completion support, or with Deoplete)
-* Finding references (`:ALEFindReferences`)
-* Hover information (`:ALEHover`)
-* Symbol search (`:ALESymbolSearch`)
-
-If you don't care about Language Server Protocol, ALE won't load any of the code
-for working with it unless needed. One of ALE's general missions is that you
-won't pay for the features that you don't use.
-
-**Help Wanted:** If you would like to help maintain this plugin by managing the
-many issues and pull requests that are submitted, please send the author an
-email at [dev@w0rp.com](mailto:dev@w0rp.com?subject=Helping%20with%20ALE).
-
-If you enjoy this plugin, feel free to contribute or check out the author's
-other content at [w0rp.com](https://w0rp.com).
-
-## Table of Contents
-
-1. [Supported Languages and Tools](#supported-languages)
-2. [Usage](#usage)
- 1. [Linting](#usage-linting)
- 2. [Fixing](#usage-fixing)
- 3. [Completion](#usage-completion)
- 4. [Go To Definition](#usage-go-to-definition)
- 5. [Find References](#usage-find-references)
- 6. [Hovering](#usage-hover)
- 7. [Symbol Search](#usage-symbol-search)
- 8. [Refactoring: Rename, Actions](#usage-refactoring)
-3. [Installation](#installation)
- 1. [Installation with Vim package management](#standard-installation)
- 2. [Installation with Pathogen](#installation-with-pathogen)
- 3. [Installation with Vundle](#installation-with-vundle)
- 4. [Installation with Vim-Plug](#installation-with-vim-plug)
-4. [Contributing](#contributing)
-5. [FAQ](#faq)
- 1. [How do I disable particular linters?](#faq-disable-linters)
- 2. [How can I see what ALE has configured for the current file?](#faq-get-info)
- 3. [How can I use ALE and coc.nvim together?](#faq-coc-nvim)
- 4. [How can I keep the sign gutter open?](#faq-keep-signs)
- 5. [How can I change the signs ALE uses?](#faq-change-signs)
- 6. [How can I change or disable the highlights ALE uses?](#faq-change-highlights)
- 7. [How can I show errors or warnings in my statusline?](#faq-statusline)
- 8. [How can I show errors or warnings in my lightline?](#faq-lightline)
- 9. [How can I change the format for echo messages?](#faq-echo-format)
- 10. [How can I execute some code when ALE starts or stops linting?](#faq-autocmd)
- 11. [How can I navigate between errors quickly?](#faq-navigation)
- 12. [How can I run linters only when I save files?](#faq-lint-on-save)
- 13. [How can I use the quickfix list instead of the loclist?](#faq-quickfix)
- 14. [How can I check JSX files with both stylelint and eslint?](#faq-jsx-stylelint-eslint)
- 15. [How can I check Vue files with ESLint?](#faq-vue-eslint)
- 16. [Will this plugin eat all of my laptop battery power?](#faq-my-battery-is-sad)
- 17. [How can I configure my C or C++ project?](#faq-c-configuration)
- 18. [How can I configure ALE differently for different buffers?](#faq-buffer-configuration)
- 19. [How can I configure the height of the list in which ALE displays errors?](#faq-list-window-height)
- 20. [How can I run linters or fixers via Docker or a VM?](#faq-vm)
- 21. [How can I change the borders for floating preview windows?](#faq-window-borders)
- 22. [How can I use ALE and vim-lsp together?](#faq-vim-lsp)
-
-
-
-## 1. Supported Languages and Tools
-
-ALE supports a wide variety of languages and tools. See the
-[full list](supported-tools.md) in the
-[Supported Languages and Tools](supported-tools.md) page.
-
-
-
-## 2. Usage
-
-
-
-### 2.i Linting
-
-Once this plugin is installed, while editing your files in supported
-languages and tools which have been correctly installed,
-this plugin will send the contents of your text buffers to a variety of
-programs for checking the syntax and semantics of your programs. By default,
-linters will be re-run in the background to check your syntax when you open
-new buffers or as you make edits to your files.
-
-The behavior of linting can be configured with a variety of options,
-documented in [the Vim help file](doc/ale.txt). For more information on the
-options ALE offers, consult `:help ale-options` for global options and `:help
-ale-integration-options` for options specified to particular linters.
-
-
-
-### 2.ii Fixing
-
-ALE can fix files with the `ALEFix` command. Functions need to be configured
-either in each buffer with a `b:ale_fixers`, or globally with `g:ale_fixers`.
-
-The recommended way to configure fixers is to define a List in an ftplugin file.
-
-```vim
-" In ~/.vim/ftplugin/javascript.vim, or somewhere similar.
-
-" Fix files with prettier, and then ESLint.
-let b:ale_fixers = ['prettier', 'eslint']
-" Equivalent to the above.
-let b:ale_fixers = {'javascript': ['prettier', 'eslint']}
-```
-
-You can also configure your fixers from vimrc using `g:ale_fixers`, before or
-after ALE has been loaded.
-
-A `*` in place of the filetype will apply a List of fixers to all files which
-do not match some filetype in the Dictionary.
-
-Note that using a plain List for `g:ale_fixers` is not supported.
-
-```vim
-" In ~/.vim/vimrc, or somewhere similar.
-let g:ale_fixers = {
-\ '*': ['remove_trailing_lines', 'trim_whitespace'],
-\ 'javascript': ['eslint'],
-\}
-```
-
-If you want to automatically fix files when you save them, you need to turn
-a setting on in vimrc.
-
-```vim
-" Set this variable to 1 to fix files when you save them.
-let g:ale_fix_on_save = 1
-```
-
-The `:ALEFixSuggest` command will suggest some supported tools for fixing code.
-Both `g:ale_fixers` and `b:ale_fixers` can also accept functions, including
-lambda functions, as fixers, for fixing files with custom tools.
-
-See `:help ale-fix` for complete information on how to fix files with ALE.
-
-
-
-### 2.iii Completion
-
-ALE offers some support for completion via hijacking of omnicompletion while you
-type. All of ALE's completion information must come from Language Server
-Protocol linters, or from `tsserver` for TypeScript.
-
-ALE integrates with [Deoplete](https://github.com/Shougo/deoplete.nvim) as a
-completion source, named `'ale'`. You can configure Deoplete to only use ALE as
-the source of completion information, or mix it with other sources.
-
-```vim
-" Use ALE and also some plugin 'foobar' as completion sources for all code.
-call deoplete#custom#option('sources', {
-\ '_': ['ale', 'foobar'],
-\})
-```
-
-ALE also offers its own automatic completion support, which does not require any
-other plugins, and can be enabled by changing a setting before ALE is loaded.
-
-```vim
-" Enable completion where available.
-" This setting must be set before ALE is loaded.
-"
-" You should not turn this setting on if you wish to use ALE as a completion
-" source for other completion plugins, like Deoplete.
-let g:ale_completion_enabled = 1
-```
-
-ALE provides an omni-completion function you can use for triggering
-completion manually with ``.
-
-```vim
-set omnifunc=ale#completion#OmniFunc
-```
-
-ALE supports automatic imports from external modules. This behavior is enabled
-by default and can be disabled by setting:
-
-```vim
-let g:ale_completion_autoimport = 0
-```
-
-Note that disabling auto import can result in missing completion items from some
-LSP servers (e.g. eclipselsp). See `:help ale-completion` for more information.
-
-
-
-### 2.iv Go To Definition
-
-ALE supports jumping to the definition of words under your cursor with the
-`:ALEGoToDefinition` command using any enabled Language Server Protocol linters
-and `tsserver`.
-
-See `:help ale-go-to-definition` for more information.
-
-
-
-### 2.v Find References
-
-ALE supports finding references for words under your cursor with the
-`:ALEFindReferences` command using any enabled Language Server Protocol linters
-and `tsserver`.
-
-See `:help ale-find-references` for more information.
-
-
-
-### 2.vi Hovering
-
-ALE supports "hover" information for printing brief information about symbols at
-the cursor taken from Language Server Protocol linters and `tsserver` with the
-`ALEHover` command.
-
-Truncated information will be displayed when the cursor rests on a symbol by
-default, as long as there are no problems on the same line.
-
-The information can be displayed in a `balloon` tooltip in Vim or GVim by
-hovering your mouse over symbols. Mouse hovering is enabled by default in GVim,
-and needs to be configured for Vim 8.1+ in terminals.
-
-See `:help ale-hover` for more information.
-
-
-
-### 2.vii Symbol Search
-
-ALE supports searching for workspace symbols via Language Server Protocol
-linters with the `ALESymbolSearch` command.
-
-Search queries can be performed to find functions, types, and more which are
-similar to a given query string.
-
-See `:help ale-symbol-search` for more information.
-
-
-
-### 2.viii Refactoring: Rename, Actions
-
-ALE supports renaming symbols in symbols in code such as variables or class
-names with the `ALERename` command.
-
-`ALEFileRename` will rename file and fix import paths (tsserver
-only).
-
-`ALECodeAction` will execute actions on the cursor or applied to a visual
-range selection, such as automatically fixing errors.
-
-See `:help ale-refactor` for more information.
-
-
-
-## 3. Installation
-
-To install this plugin, you should use one of the following methods.
-For Windows users, replace usage of the Unix `~/.vim` directory with
-`%USERPROFILE%\vimfiles`, or another directory if you have configured
-Vim differently. On Windows, your `~/.vimrc` file will be similarly
-stored in `%USERPROFILE%\_vimrc`.
-
-
-
-### 3.i. Installation with Vim package management
-
-In Vim 8 and NeoVim, you can install plugins easily without needing to use
-any other tools. Simply clone the plugin into your `pack` directory.
-
-#### Vim 8 on Unix
-
-```bash
-mkdir -p ~/.vim/pack/git-plugins/start
-git clone --depth 1 https://github.com/dense-analysis/ale.git ~/.vim/pack/git-plugins/start/ale
-```
-
-#### NeoVim on Unix
-
-```bash
-mkdir -p ~/.local/share/nvim/site/pack/git-plugins/start
-git clone --depth 1 https://github.com/dense-analysis/ale.git ~/.local/share/nvim/site/pack/git-plugins/start/ale
-```
-
-#### Vim 8 on Windows
-
-```bash
-# Run these commands in the "Git for Windows" Bash terminal
-mkdir -p ~/vimfiles/pack/git-plugins/start
-git clone --depth 1 https://github.com/dense-analysis/ale.git ~/vimfiles/pack/git-plugins/start/ale
-```
-
-#### Generating Vim help files
-
-You can add the following line to your vimrc files to generate documentation
-tags automatically, if you don't have something similar already, so you can use
-the `:help` command to consult ALE's online documentation:
-
-```vim
-" Put these lines at the very end of your vimrc file.
-
-" Load all plugins now.
-" Plugins need to be added to runtimepath before helptags can be generated.
-packloadall
-" Load all of the helptags now, after plugins have been loaded.
-" All messages and errors will be ignored.
-silent! helptags ALL
-```
-
-
-
-### 3.ii. Installation with Pathogen
-
-To install this module with [Pathogen](https://github.com/tpope/vim-pathogen),
-you should clone this repository to your bundle directory, and ensure
-you have the line `execute pathogen#infect()` in your `~/.vimrc` file.
-You can run the following commands in your terminal to do so:
-
-```bash
-cd ~/.vim/bundle
-git clone https://github.com/dense-analysis/ale.git
-```
-
-
-
-### 3.iii. Installation with Vundle
-
-You can install this plugin using [Vundle](https://github.com/VundleVim/Vundle.vim)
-by adding the GitHub path for this repository to your `~/.vimrc`:
-
-```vim
-Plugin 'dense-analysis/ale'
-```
-
-Then run the command `:PluginInstall` in Vim.
-
-See the Vundle documentation for more information.
-
-
-
-### 3.iv. Installation with Vim-Plug
-
-You can install this plugin using [Vim-Plug](https://github.com/junegunn/vim-plug)
-by adding the GitHub path for this repository to your `~/.vimrc`:
-
-```vim
-Plug 'dense-analysis/ale'
-```
-
-Then run the command `:PlugInstall` in Vim.
-
-See the Vim-Plug documentation for more information.
-
-
-
-## 4. Contributing
-
-If you would like to see support for more languages and tools, please
-[create an issue](https://github.com/dense-analysis/ale/issues)
-or [create a pull request](https://github.com/dense-analysis/ale/pulls).
-If your tool can read from stdin or you have code to suggest which is good,
-support can be happily added for it.
-
-If you are interested in the general direction of the project, check out the
-[wiki home page](https://github.com/dense-analysis/ale/wiki). The wiki includes
-a Roadmap for the future, and more.
-
-If you'd liked to discuss ALE and more check out the Dense Analysis Discord
-server here: https://discord.gg/5zFD6pQxDk
-
-
-
-## 5. FAQ
-
-
-
-### 5.i. How do I disable particular linters?
-
-By default, all available tools for all supported languages will be run. If you
-want to only select a subset of the tools, you can define `b:ale_linters` for a
-single buffer, or `g:ale_linters` globally.
-
-The recommended way to configure linters is to define a List in an ftplugin
-file.
-
-```vim
-" In ~/.vim/ftplugin/javascript.vim, or somewhere similar.
-
-" Enable ESLint only for JavaScript.
-let b:ale_linters = ['eslint']
-
-" Equivalent to the above.
-let b:ale_linters = {'javascript': ['eslint']}
-```
-
-You can also declare which linters you want to run in your vimrc file, before or
-after ALE has been loaded.
-
-```vim
-" In ~/.vim/vimrc, or somewhere similar.
-let g:ale_linters = {
-\ 'javascript': ['eslint'],
-\}
-```
-
-For all languages unspecified in the dictionary, all possible linters will
-be run for those languages, just as when the dictionary is not defined.
-Running many linters should not typically obstruct editing in Vim,
-as they will all be executed in separate processes simultaneously.
-
-If you don't want ALE to run anything other than what you've explicitly asked
-for, you can set `g:ale_linters_explicit` to `1`.
-
-```vim
-" Only run linters named in ale_linters settings.
-let g:ale_linters_explicit = 1
-```
-
-This plugin will look for linters in the [`ale_linters`](ale_linters) directory.
-Each directory within corresponds to a particular filetype in Vim, and each file
-in each directory corresponds to the name of a particular linter.
-
-
-
-### 5.ii. How can I see what ALE has configured for the current file?
-
-Run the following to see what is currently configured:
-
-```vim
-:ALEInfo
-```
-
-
-
-### 5.iii. How can I use ALE and coc.nvim together?
-
-[coc.nvim](https://github.com/neoclide/coc.nvim) is a popular Vim plugin written
-in TypeScript and dependent on the [npm](https://www.npmjs.com/) ecosystem for
-providing full IDE features to Vim. Both ALE and coc.nvim implement
-[Language Server Protocol](https://microsoft.github.io/language-server-protocol/)
-(LSP) clients for supporting diagnostics (linting with a live server), and other
-features like auto-completion, and others listed above.
-
-ALE is primarily focused on integrating with external programs through virtually
-any means, provided the plugin remains almost entirely written in Vim script.
-coc.nvim is primarily focused on bringing IDE features to Vim. If you want to
-run external programs on your files to check for errors, and also use the most
-advanced IDE features, you might want to use both plugins at the same time.
-
-The easiest way to get both plugins to work together is to configure coc.nvim to
-send diagnostics to ALE, so ALE controls how all problems are presented to you,
-and to disable all LSP features in ALE, so ALE doesn't try to provide LSP
-features already provided by coc.nvim, such as auto-completion.
-
-1. Open your coc.nvim configuration file with `:CocConfig` and add
- `"diagnostic.displayByAle": true` to your settings.
-2. Add `let g:ale_disable_lsp = 1` to your vimrc file, before plugins are
- loaded.
-
-You can also use `b:ale_disable_lsp` in your ftplugin files to enable or disable
-LSP features in ALE for different filetypes. After you configure coc.nvim and
-ALE this way, you can further configure how problems appear to you by using all
-of the settings mentioned in ALE's help file, including how often diagnostics
-are requested. See `:help ale-lint`.
-
-The integration between ALE and coc.nvim works using an API ALE offers for
-letting any other plugin integrate with ALE. If you are interested in writing a
-similar integration, see `:help ale-lint-other-sources`.
-
-
-
-### 5.iv. How can I keep the sign gutter open?
-
-You can keep the sign gutter open at all times by setting the
-`g:ale_sign_column_always` to 1
-
-```vim
-let g:ale_sign_column_always = 1
-```
-
-
-
-### 5.v. How can I change the signs ALE uses?
-
-Use these options to specify what text should be used for signs:
-
-```vim
-let g:ale_sign_error = '>>'
-let g:ale_sign_warning = '--'
-```
-
-ALE sets some background colors automatically for warnings and errors
-in the sign gutter, with the names `ALEErrorSign` and `ALEWarningSign`.
-These colors can be customised, or even removed completely:
-
-```vim
-highlight clear ALEErrorSign
-highlight clear ALEWarningSign
-```
-
-
-
-### 5.vi. How can I change or disable the highlights ALE uses?
-
-ALE's highlights problems with highlight groups which link to `SpellBad`,
-`SpellCap`, `error`, and `todo` groups by default. The characters that are
-highlighted depend on the linters being used, and the information provided to
-ALE.
-
-Highlighting can be disabled completely by setting `g:ale_set_highlights` to
-`0`.
-
-```vim
-" Set this in your vimrc file to disabling highlighting
-let g:ale_set_highlights = 0
-```
-
-You can control all of the highlights ALE uses, say if you are using a different
-color scheme which produces ugly highlights. For example:
-
-```vim
-highlight ALEWarning ctermbg=DarkMagenta
-```
-
-See `:help ale-highlights` for more information.
-
-
-
-### 5.vii. How can I show errors or warnings in my statusline?
-
-[vim-airline](https://github.com/vim-airline/vim-airline) integrates with ALE
-for displaying error information in the status bar. If you want to see the
-status for ALE in a nice format, it is recommended to use vim-airline with ALE.
-The airline extension can be enabled by adding the following to your vimrc:
-
-```vim
-" Set this. Airline will handle the rest.
-let g:airline#extensions#ale#enabled = 1
-```
-
-If you don't want to use vim-airline, you can implement your own statusline
-function without adding any other plugins. ALE provides some functions to
-assist in this endeavour, including:
-
-* `ale#statusline#Count`: Which returns the number of problems found by ALE
- for a specified buffer.
-* `ale#statusline#FirstProblem`: Which returns a dictionary containing the
- full loclist details of the first problem of a specified type found by ALE
- in a buffer. (e.g. The first style warning in the current buffer.)
- This can be useful for displaying more detailed information such as the
- line number of the first problem in a file.
-
-Say you want to display all errors as one figure, and all non-errors as another
-figure. You can do the following:
-
-```vim
-function! LinterStatus() abort
- let l:counts = ale#statusline#Count(bufnr(''))
-
- let l:all_errors = l:counts.error + l:counts.style_error
- let l:all_non_errors = l:counts.total - l:all_errors
-
- return l:counts.total == 0 ? 'OK' : printf(
- \ '%dW %dE',
- \ all_non_errors,
- \ all_errors
- \)
-endfunction
-
-set statusline=%{LinterStatus()}
-```
-
-See `:help ale#statusline#Count()` or `:help ale#statusline#FirstProblem()`
-for more information.
-
-
-
-### 5.viii. How can I show errors or warnings in my lightline?
-
-[lightline](https://github.com/itchyny/lightline.vim) does not have built-in
-support for ALE, nevertheless there is a plugin that adds this functionality: [maximbaz/lightline-ale](https://github.com/maximbaz/lightline-ale).
-
-For more information, check out the sources of that plugin, `:help ale#statusline#Count()` and [lightline documentation](https://github.com/itchyny/lightline.vim#advanced-configuration).
-
-
-
-### 5.ix. How can I change the format for echo messages?
-
-There are 3 global options that allow customizing the echoed message.
-
-- `g:ale_echo_msg_format` where:
- * `%s` is the error message itself
- * `%...code...%` is an optional error code, and most characters can be
- written between the `%` characters.
- * `%linter%` is the linter name
- * `%severity%` is the severity type
-- `g:ale_echo_msg_error_str` is the string used for error severity.
-- `g:ale_echo_msg_warning_str` is the string used for warning severity.
-
-So for example this:
-
-```vim
-let g:ale_echo_msg_error_str = 'E'
-let g:ale_echo_msg_warning_str = 'W'
-let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
-```
-
-Will give you:
-
-
-
-See `:help g:ale_echo_msg_format` for more information.
-
-
-
-### 5.x. How can I execute some code when ALE starts or stops linting?
-
-ALE runs its own [autocmd](http://vimdoc.sourceforge.net/htmldoc/autocmd.html)
-events when a lint or fix cycle are started and stopped. There is also an event
-that runs when a linter job has been successfully started. These events can be
-used to call arbitrary functions during these respective parts of the ALE's
-operation.
-
-```vim
-augroup YourGroup
- autocmd!
- autocmd User ALELintPre call YourFunction()
- autocmd User ALELintPost call YourFunction()
-
- autocmd User ALEJobStarted call YourFunction()
-
- autocmd User ALEFixPre call YourFunction()
- autocmd User ALEFixPost call YourFunction()
-augroup END
-```
-
-
-
-### 5.xi. How can I navigate between errors quickly?
-
-ALE offers some commands with `` keybinds for moving between warnings and
-errors quickly. You can map the keys Ctrl+j and Ctrl+k to moving between errors
-for example:
-
-```vim
-nmap (ale_previous_wrap)
-nmap (ale_next_wrap)
-```
-
-For more information, consult the online documentation with
-`:help ale-navigation-commands`.
-
-
-
-### 5.xii. How can I run linters only when I save files?
-
-ALE offers an option `g:ale_lint_on_save` for enabling running the linters
-when files are saved. This option is enabled by default. If you only
-wish to run linters when files are saved, you can turn the other
-options off.
-
-```vim
-" Write this in your vimrc file
-let g:ale_lint_on_text_changed = 'never'
-let g:ale_lint_on_insert_leave = 0
-" You can disable this option too
-" if you don't want linters to run on opening a file
-let g:ale_lint_on_enter = 0
-```
-
-If for whatever reason you don't wish to run linters again when you save
-files, you can set `g:ale_lint_on_save` to `0`.
-
-
-
-### 5.xiii. How can I use the quickfix list instead of the loclist?
-
-The quickfix list can be enabled by turning the `g:ale_set_quickfix`
-option on. If you wish to also disable the loclist, you can disable
-the `g:ale_set_loclist` option.
-
-```vim
-" Write this in your vimrc file
-let g:ale_set_loclist = 0
-let g:ale_set_quickfix = 1
-```
-
-If you wish to show Vim windows for the loclist or quickfix items
-when a file contains warnings or errors, `g:ale_open_list` can be
-set to `1`. `g:ale_keep_list_window_open` can be set to `1`
-if you wish to keep the window open even after errors disappear.
-
-```vim
-let g:ale_open_list = 1
-" Set this if you want to.
-" This can be useful if you are combining ALE with
-" some other plugin which sets quickfix errors, etc.
-let g:ale_keep_list_window_open = 1
-```
-
-You can also set `let g:ale_list_vertical = 1` to open the windows vertically
-instead of the default horizontally.
-
-
-
-### 5.xiv. How can I check JSX files with both stylelint and eslint?
-
-If you configure ALE options correctly in your vimrc file, and install
-the right tools, you can check JSX files with stylelint and eslint.
-
-First, install eslint and install stylelint with
-[stylelint-processor-styled-components](https://github.com/styled-components/stylelint-processor-styled-components).
-
-Supposing you have installed both tools correctly, configure your .jsx files so
-`jsx` is included in the filetype. You can use an `autocmd` for this.
-
-```vim
-augroup FiletypeGroup
- autocmd!
- au BufNewFile,BufRead *.jsx set filetype=javascript.jsx
-augroup END
-```
-
-Supposing the filetype has been set correctly, you can set the following
-options in a jsx.vim ftplugin file.
-
-```vim
-" In ~/.vim/ftplugin/jsx.vim, or somewhere similar.
-let b:ale_linter_aliases = ['css', 'javascript']
-let b:ale_linters = ['stylelint', 'eslint']
-```
-
-Or if you want, you can configure the linters from your vimrc file.
-
-```vim
-" In ~/.vim/vimrc, or somewhere similar.
-let g:ale_linter_aliases = {'jsx': ['css', 'javascript']}
-let g:ale_linters = {'jsx': ['stylelint', 'eslint']}
-```
-
-ALE will alias the `jsx` filetype so it uses the `css` filetype linters, and
-use the original Array of selected linters for `jsx` from the `g:ale_linters`
-object. All available linters will be used for the filetype `javascript`, and
-no linter will be run twice for the same file.
-
-
-
-### 5.xv. How can I check Vue files with ESLint?
-
-To check Vue files with ESLint, your ESLint project configuration file must be
-configured to use the [Vue plugin](https://github.com/vuejs/eslint-plugin-vue).
-After that, you need to configure ALE so it will run the JavaScript ESLint
-linter on your files. The settings you need are similar to the settings needed
-for checking JSX code with both stylelint and ESLint, in the previous section.
-
-```vim
-" In ~/.vim/ftplugin/vue.vim, or somewhere similar.
-
-" Run both javascript and vue linters for vue files.
-let b:ale_linter_aliases = ['javascript', 'vue']
-" Select the eslint and vls linters.
-let b:ale_linters = ['eslint', 'vls']
-```
-
-Run `:ALEInfo` to see which linters are available after telling ALE to run
-JavaScript linters on Vue files. Not all linters support checking Vue files.
-
-If you don't want to configure your linters in ftplugin files for some reason,
-you can configure them from your vimrc file instead.
-
-```vim
-" In ~/.vim/vimrc, or somewhere similar.
-let g:ale_linter_aliases = {'vue': ['vue', 'javascript']}
-let g:ale_linters = {'vue': ['eslint', 'vls']}
-```
-
-
-
-### 5.xvi. Will this plugin eat all of my laptop battery power?
-
-ALE takes advantage of the power of various tools to check your code. This of
-course means that CPU time will be used to continuously check your code. If you
-are concerned about the CPU time ALE will spend, which will of course imply
-some cost to battery life, you can adjust your settings to make your CPU do
-less work.
-
-First, consider increasing the delay before which ALE will run any linters
-while you type. ALE uses a timeout which is cancelled and reset every time you
-type, and this delay can be increased so linters are run less often. See
-`:help g:ale_lint_delay` for more information.
-
-If you don't wish to run linters while you type, you can disable that behavior.
-Set `g:ale_lint_on_text_changed` to `never`. You won't get as frequent error
-checking, but ALE shouldn't block your ability to edit a document after you save
-a file, so the asynchronous nature of the plugin will still be an advantage.
-
-If you are still concerned, you can turn the automatic linting off altogether,
-including the option `g:ale_lint_on_enter`, and you can run ALE manually with
-`:ALELint`.
-
-
-
-### 5.xvii. How can I configure my C or C++ project?
-
-The structure of C and C++ projects varies wildly from project to project, with
-many different build tools being used for building them, and many different
-formats for project configuration files. ALE can run compilers easily, but
-ALE cannot easily detect which compiler flags to use.
-
-Some tools and build configurations can generate
-[compile_commands.json](https://clang.llvm.org/docs/JSONCompilationDatabase.html)
-files. The `cppcheck`, `clangcheck`, `clangtidy` and `cquery` linters can read
-these files for automatically determining the appropriate compiler flags to
-use.
-
-For linting with compilers like `gcc` and `clang`, and with other tools, you
-will need to tell ALE which compiler flags to use yourself. You can use
-different options for different projects with the `g:ale_pattern_options`
-setting. Consult the documentation for that setting for more information.
-`b:ale_linters` can be used to select which tools you want to run, say if you
-want to use only `gcc` for one project, and only `clang` for another.
-
-ALE will attempt to parse `compile_commands.json` files to discover compiler
-flags to use when linting code. See `:help g:ale_c_parse_compile_commands` for
-more information. See Clang's documentation for
-[compile_commands.json files](https://clang.llvm.org/docs/JSONCompilationDatabase.html).
-You should strongly consider generating them in your builds, which is easy to do
-with CMake.
-
-You can also configure ALE to automatically run `make -n` to run dry runs on
-`Makefile`s to discover compiler flags. This can execute arbitrary code, so the
-option is disabled by default. See `:help g:ale_c_parse_makefile`.
-
-You may also configure buffer-local settings for linters with project-specific
-vimrc files. [local_vimrc](https://github.com/LucHermitte/local_vimrc) can be
-used for executing local vimrc files which can be shared in your project.
-
-
-
-### 5.xviii. How can I configure ALE differently for different buffers?
-
-ALE offers various ways to configure which linters or fixers are run, and
-other settings. For the majority of ALE's settings, they can either be
-configured globally with a `g:` variable prefix, or for a specific buffer
-with a `b:` variable prefix. For example, you can configure a Python ftplugin
-file like so.
-
-```vim
-" In ~/.vim/ftplugin/python.vim
-
-" Check Python files with flake8 and pylint.
-let b:ale_linters = ['flake8', 'pylint']
-" Fix Python files with autopep8 and yapf.
-let b:ale_fixers = ['autopep8', 'yapf']
-" Disable warnings about trailing whitespace for Python files.
-let b:ale_warn_about_trailing_whitespace = 0
-```
-
-For configuring files based on regular expression patterns matched against the
-absolute path to a file, you can use `g:ale_pattern_options`.
-
-```vim
-" Do not lint or fix minified files.
-let g:ale_pattern_options = {
-\ '\.min\.js$': {'ale_linters': [], 'ale_fixers': []},
-\ '\.min\.css$': {'ale_linters': [], 'ale_fixers': []},
-\}
-" If you configure g:ale_pattern_options outside of vimrc, you need this.
-let g:ale_pattern_options_enabled = 1
-```
-
-Buffer-local variables for settings always override the global settings.
-
-
-
-### 5.xix. How can I configure the height of the list in which ALE displays errors?
-
-To set a default height for the error list, use the `g:ale_list_window_size` variable.
-
-```vim
-" Show 5 lines of errors (default: 10)
-let g:ale_list_window_size = 5
-```
-
-
-
-### 5.xx. How can I run linters or fixers via Docker or a VM?
-
-ALE supports running linters or fixers via Docker, virtual machines, or in
-combination with any remote machine with a different file system, so long as the
-tools are well-integrated with ALE, and ALE is properly configured to run the
-correct commands and map filename paths between different file systems. See
-`:help ale-lint-other-machines` for the full documentation on how to configure
-ALE to support this.
-
-
-
-### 5.xxi. How can I change the borders for floating preview windows?
-
-Borders for floating preview windows are enabled by default. You can use the
-`g:ale_floating_window_border` setting to configure them.
-
-You could disable the border with an empty list.
-
-```vim
-let g:ale_floating_window_border = []
-```
-
-If the terminal supports Unicode, you might try setting the value like below, to
-make it look nicer.
-
-```vim
-let g:ale_floating_window_border = ['│', '─', '╭', '╮', '╯', '╰', '│', '─']
-```
-
-Since vim's default uses nice unicode characters when possible, you can trick
-ale into using that default with
-
-```vim
-let g:ale_floating_window_border = repeat([''], 8)
-```
-
-
-
-### 5.xxii. How can I use ALE and vim-lsp together?
-
-[vim-lsp](https://github.com/prabirshrestha/vim-lsp) is a popular plugin as
-implementation of Language Server Protocol (LSP) client for Vim. It provides
-all the LSP features including auto completion, diagnostics, go to definitions,
-etc.
-
-ALE also provides LSP support for diagnostics. When you use both ALE and
-vim-lsp, one option is disabling ALE's LSP support by
-`let g:ale_disable_lsp = 1`. However ALE provides integration of external
-programs. Showing errors from language servers by vim-lsp and showing errors
-from other external programs by ALE are confusing and problematic.
-
-[vim-lsp-ale](https://github.com/rhysd/vim-lsp-ale) is a bridge plugin to solve
-the problem when using both ALE and vim-lsp. With the plugin, diagnostics are
-provided by vim-lsp and ALE can handle all the errors. Please read
-[vim-lsp-ale's documentation](https://github.com/rhysd/vim-lsp-ale/blob/master/doc/vim-lsp-ale.txt)
-for more details.
diff --git a/dot_vim/plugged/ale/ale_linters/ada/adals.vim b/dot_vim/plugged/ale/ale_linters/ada/adals.vim
deleted file mode 100644
index 9a41e1d..0000000
--- a/dot_vim/plugged/ale/ale_linters/ada/adals.vim
+++ /dev/null
@@ -1,26 +0,0 @@
-" Author: Bartek Jasicki http://github.com/thindil
-" Description: Support for Ada Language Server
-
-call ale#Set('ada_adals_executable', 'ada_language_server')
-call ale#Set('ada_adals_project', 'default.gpr')
-call ale#Set('ada_adals_encoding', 'utf-8')
-
-function! ale_linters#ada#adals#GetAdaLSConfig(buffer) abort
- return {
- \ 'ada.projectFile': ale#Var(a:buffer, 'ada_adals_project'),
- \ 'ada.defaultCharset': ale#Var(a:buffer, 'ada_adals_encoding')
- \}
-endfunction
-
-function! ale_linters#ada#adals#GetRootDirectory(buffer) abort
- return fnamemodify(bufname(a:buffer), ':p:h')
-endfunction
-
-call ale#linter#Define('ada', {
-\ 'name': 'adals',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'ada_adals_executable')},
-\ 'command': '%e',
-\ 'project_root': function('ale_linters#ada#adals#GetRootDirectory'),
-\ 'lsp_config': function('ale_linters#ada#adals#GetAdaLSConfig')
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/ada/cspell.vim b/dot_vim/plugged/ale/ale_linters/ada/cspell.vim
deleted file mode 100644
index 7342d2b..0000000
--- a/dot_vim/plugged/ale/ale_linters/ada/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for Ada files.
-
-call ale#handlers#cspell#DefineLinter('ada')
diff --git a/dot_vim/plugged/ale/ale_linters/ada/gcc.vim b/dot_vim/plugged/ale/ale_linters/ada/gcc.vim
deleted file mode 100644
index 5afc9ae..0000000
--- a/dot_vim/plugged/ale/ale_linters/ada/gcc.vim
+++ /dev/null
@@ -1,54 +0,0 @@
-" Author: Martino Pilia
-" Description: Lint Ada files with GCC
-
-call ale#Set('ada_gcc_executable', 'gcc')
-
-" -gnatwa: activate most optional warnings
-" -gnatq: try semantic analysis even if syntax errors have been found
-call ale#Set('ada_gcc_options', '-gnatwa -gnatq')
-
-function! ale_linters#ada#gcc#GetCommand(buffer) abort
- " Build a suitable output file name. The output file is specified because
- " the .ali file may be created even if no code generation is attempted.
- " The output file name must match the source file name (except for the
- " extension), so here we cannot use the null file as output.
- let l:tmp_dir = fnamemodify(ale#command#CreateDirectory(a:buffer), ':p')
- let l:out_file = l:tmp_dir . fnamemodify(bufname(a:buffer), ':t:r') . '.o'
-
- " -gnatc: Check syntax and semantics only (no code generation attempted)
- return '%e -x ada -c -gnatc'
- \ . ' -o ' . ale#Escape(l:out_file)
- \ . ' -I %s:h'
- \ . ale#Pad(ale#Var(a:buffer, 'ada_gcc_options'))
- \ . ' %t'
-endfunction
-
-" For the message format please refer to:
-" https://gcc.gnu.org/onlinedocs/gnat_ugn/Output-and-Error-Message-Control.html
-" https://gcc.gnu.org/onlinedocs/gnat_ugn/Warning-Message-Control.html
-function! ale_linters#ada#gcc#Handle(buffer, lines) abort
- " Error format: :::
- " Warning format: ::: warning:
- let l:re = '\v(.+):([0-9]+):([0-9]+):\s+(warning:)?\s*(.+)\s*'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:re)
- call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': str2nr(l:match[2]),
- \ 'col': str2nr(l:match[3]),
- \ 'type': l:match[4] is# 'warning:' ? 'W' : 'E',
- \ 'text': l:match[5],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('ada', {
-\ 'name': 'gcc',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'ada_gcc_executable')},
-\ 'command': function('ale_linters#ada#gcc#GetCommand'),
-\ 'callback': 'ale_linters#ada#gcc#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/ansible/ansible_language_server.vim b/dot_vim/plugged/ale/ale_linters/ansible/ansible_language_server.vim
deleted file mode 100644
index d1f3fb7..0000000
--- a/dot_vim/plugged/ale/ale_linters/ansible/ansible_language_server.vim
+++ /dev/null
@@ -1,46 +0,0 @@
-" Author: Horacio Sanson
-" Description: Support ansible language server https://github.com/ansible/ansible-language-server/
-
-call ale#Set('ansible_language_server_executable', 'ansible-language-server')
-call ale#Set('ansible_language_server_config', {})
-
-function! ale_linters#ansible#ansible_language_server#Executable(buffer) abort
- return ale#Var(a:buffer, 'ansible_language_server_executable')
-endfunction
-
-function! ale_linters#ansible#ansible_language_server#GetCommand(buffer) abort
- let l:executable = ale_linters#ansible#ansible_language_server#Executable(a:buffer)
-
- return ale#Escape(l:executable) . ' --stdio'
-endfunction
-
-function! ale_linters#ansible#ansible_language_server#FindProjectRoot(buffer) abort
- let l:dir = fnamemodify(
- \ ale#path#FindNearestFile(a:buffer, 'ansible.cfg'),
- \ ':h'
- \)
-
- if l:dir isnot# '.' && isdirectory(l:dir)
- return l:dir
- endif
-
- let l:dir = fnamemodify(
- \ ale#path#FindNearestDirectory(a:buffer, '.git'),
- \ ':h:h'
- \)
-
- if l:dir isnot# '.' && isdirectory(l:dir)
- return l:dir
- endif
-
- return ''
-endfunction
-
-call ale#linter#Define('ansible', {
-\ 'name': 'ansible-language-server',
-\ 'lsp': 'stdio',
-\ 'executable': function('ale_linters#ansible#ansible_language_server#Executable'),
-\ 'command': function('ale_linters#ansible#ansible_language_server#GetCommand'),
-\ 'project_root': function('ale_linters#ansible#ansible_language_server#FindProjectRoot'),
-\ 'lsp_config': {b -> ale#Var(b, 'ansible_language_server_config')}
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/ansible/ansible_lint.vim b/dot_vim/plugged/ale/ale_linters/ansible/ansible_lint.vim
deleted file mode 100644
index bdfbee3..0000000
--- a/dot_vim/plugged/ale/ale_linters/ansible/ansible_lint.vim
+++ /dev/null
@@ -1,128 +0,0 @@
-" Authors: Bjorn Neergaard , Vytautas Macionis
-" Description: ansible-lint for ansible-yaml files
-
-call ale#Set('ansible_ansible_lint_executable', 'ansible-lint')
-
-function! ale_linters#ansible#ansible_lint#GetExecutable(buffer) abort
- return ale#Var(a:buffer, 'ansible_ansible_lint_executable')
-endfunction
-
-function! ale_linters#ansible#ansible_lint#Handle(buffer, version, lines) abort
- for l:line in a:lines[:10]
- if match(l:line, '^Traceback') >= 0
- return [{
- \ 'lnum': 1,
- \ 'text': 'An exception was thrown. See :ALEDetail',
- \ 'detail': join(a:lines, "\n"),
- \}]
- endif
- endfor
-
- let l:version_group = ale#semver#GTE(a:version, [6, 0, 0]) ? '>=6.0.0' :
- \ ale#semver#GTE(a:version, [5, 0, 0]) ? '>=5.0.0' :
- \ '<5.0.0'
- let l:output = []
-
- if '>=6.0.0' is# l:version_group
- let l:error_codes = { 'blocker': 'E', 'critical': 'E', 'major': 'W', 'minor': 'W', 'info': 'I' }
- let l:linter_issues = ale#util#FuzzyJSONDecode(a:lines, [])
-
- for l:issue in l:linter_issues
- if ale#path#IsBufferPath(a:buffer, l:issue.location.path)
- call add(l:output, {
- \ 'lnum': exists('l:issue.location.lines.begin.column') ? l:issue.location.lines.begin.line :
- \ l:issue.location.lines.begin,
- \ 'col': exists('l:issue.location.lines.begin.column') ? l:issue.location.lines.begin.column : 0,
- \ 'text': l:issue.check_name,
- \ 'detail': l:issue.description,
- \ 'code': l:issue.severity,
- \ 'type': l:error_codes[l:issue.severity],
- \})
- endif
- endfor
- endif
-
- if '>=5.0.0' is# l:version_group
- " Matches patterns line the following:
- " test.yml:3:148: syntax-check 'var' is not a valid attribute for a Play
- " roles/test/tasks/test.yml:8: [package-latest] [VERY_LOW] Package installs should not use latest
- " D:\test\tasks\test.yml:8: [package-latest] [VERY_LOW] package installs should not use latest
- let l:pattern = '\v^(%([a-zA-Z]:)?[^:]+):(\d+):%((\d+):)? %(\[([-[:alnum:]]+)\]) %(\[([_[:alnum:]]+)\]) (.*)$'
- let l:error_codes = { 'VERY_HIGH': 'E', 'HIGH': 'E', 'MEDIUM': 'W', 'LOW': 'W', 'VERY_LOW': 'W', 'INFO': 'I' }
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- if ale#path#IsBufferPath(a:buffer, l:match[1])
- call add(l:output, {
- \ 'lnum': l:match[2] + 0,
- \ 'col': l:match[3] + 0,
- \ 'text': l:match[6],
- \ 'code': l:match[4],
- \ 'type': l:error_codes[l:match[5]],
- \})
- endif
- endfor
- endif
-
- if '<5.0.0' is# l:version_group
- " Matches patterns line the following:
- " test.yml:35: [EANSIBLE0002] Trailing whitespace
- let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):?(\d+)?: \[?([[:alnum:]]+)\]? (.*)$'
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:code = l:match[4]
-
- if l:code is# 'EANSIBLE0002'
- \&& !ale#Var(a:buffer, 'warn_about_trailing_whitespace')
- " Skip warnings for trailing whitespace if the option is off.
- continue
- endif
-
- if ale#path#IsBufferPath(a:buffer, l:match[1])
- call add(l:output, {
- \ 'lnum': l:match[2] + 0,
- \ 'col': l:match[3] + 0,
- \ 'text': l:match[5],
- \ 'code': l:code,
- \ 'type': l:code[:0] is# 'E' ? 'E' : 'W',
- \})
- endif
- endfor
- endif
-
- return l:output
-endfunction
-
-function! ale_linters#ansible#ansible_lint#GetCommand(buffer, version) abort
- let l:commands = {
- \ '>=6.0.0': '%e --nocolor -f json -x yaml %s',
- \ '>=5.0.0': '%e --nocolor --parseable-severity -x yaml %s',
- \ '<5.0.0': '%e --nocolor -p %t'
- \}
- let l:command = ale#semver#GTE(a:version, [6, 0]) ? l:commands['>=6.0.0'] :
- \ ale#semver#GTE(a:version, [5, 0]) ? l:commands['>=5.0.0'] :
- \ l:commands['<5.0.0']
-
- return l:command
-endfunction
-
-call ale#linter#Define('ansible', {
-\ 'name': 'ansible_lint',
-\ 'aliases': ['ansible', 'ansible-lint'],
-\ 'executable': function('ale_linters#ansible#ansible_lint#GetExecutable'),
-\ 'command': {buffer -> ale#semver#RunWithVersionCheck(
-\ buffer,
-\ ale_linters#ansible#ansible_lint#GetExecutable(buffer),
-\ '%e --version',
-\ function('ale_linters#ansible#ansible_lint#GetCommand'),
-\ )},
-\ 'lint_file': 1,
-\ 'callback': {buffer, lines -> ale#semver#RunWithVersionCheck(
-\ buffer,
-\ ale_linters#ansible#ansible_lint#GetExecutable(buffer),
-\ '%e --version',
-\ {buffer, version -> ale_linters#ansible#ansible_lint#Handle(
-\ buffer,
-\ l:version,
-\ lines)},
-\ )},
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/apiblueprint/drafter.vim b/dot_vim/plugged/ale/ale_linters/apiblueprint/drafter.vim
deleted file mode 100644
index 5d40c53..0000000
--- a/dot_vim/plugged/ale/ale_linters/apiblueprint/drafter.vim
+++ /dev/null
@@ -1,38 +0,0 @@
-" Author: nametake https://nametake.github.io
-" Description: apiblueprint parser
-
-function! ale_linters#apiblueprint#drafter#HandleErrors(buffer, lines) abort
- " Matches patterns line the following:
- "
- " warning: (3) unable to parse response signature, expected 'response [] [()]'; line 4, column 3k - line 4, column 22
- " warning: (10) message-body asset is expected to be a pre-formatted code block, separate it by a newline and indent every of its line by 12 spaces or 3 tabs; line 30, column 5 - line 30, column 9; line 31, column 9 - line 31, column 14; line 32, column 9 - line 32, column 14
- let l:pattern = '\(^.*\): (\d\+) \(.\{-\}\); line \(\d\+\), column \(\d\+\) - line \d\+, column \d\+\(.*; line \d\+, column \d\+ - line \(\d\+\), column \(\d\+\)\)\{-\}$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines[2:], l:pattern)
- let l:item = {
- \ 'type': l:match[1] is# 'warning' ? 'W' : 'E',
- \ 'text': l:match[2],
- \ 'lnum': l:match[3] + 0,
- \ 'col': l:match[4] + 0,
- \}
-
- if l:match[5] isnot# ''
- let l:item.end_lnum = l:match[6] + 0
- let l:item.end_col = l:match[7] + 0
- endif
-
- call add(l:output, l:item)
- endfor
-
- return l:output
-endfunction
-
-
-call ale#linter#Define('apiblueprint', {
-\ 'name': 'drafter',
-\ 'output_stream': 'stderr',
-\ 'executable': 'drafter',
-\ 'command': 'drafter --use-line-num --validate',
-\ 'callback': 'ale_linters#apiblueprint#drafter#HandleErrors',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/apkbuild/apkbuild_lint.vim b/dot_vim/plugged/ale/ale_linters/apkbuild/apkbuild_lint.vim
deleted file mode 100644
index 285f553..0000000
--- a/dot_vim/plugged/ale/ale_linters/apkbuild/apkbuild_lint.vim
+++ /dev/null
@@ -1,12 +0,0 @@
-" Author: Leo
-" Description: apkbuild-lint from atools linter for APKBUILDs
-
-call ale#Set('apkbuild_apkbuild_lint_executable', 'apkbuild-lint')
-
-call ale#linter#Define('apkbuild', {
-\ 'name': 'apkbuild_lint',
-\ 'output_stream': 'stdout',
-\ 'executable': {b -> ale#Var(b, 'apkbuild_apkbuild_lint_executable')},
-\ 'command': '%e %t',
-\ 'callback': 'ale#handlers#atools#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/apkbuild/secfixes_check.vim b/dot_vim/plugged/ale/ale_linters/apkbuild/secfixes_check.vim
deleted file mode 100644
index c65267f..0000000
--- a/dot_vim/plugged/ale/ale_linters/apkbuild/secfixes_check.vim
+++ /dev/null
@@ -1,12 +0,0 @@
-" Author: Leo
-" Description: secfixes-check from atools linter for APKBUILDs
-
-call ale#Set('apkbuild_secfixes_check_executable', 'secfixes-check')
-
-call ale#linter#Define('apkbuild', {
-\ 'name': 'secfixes_check',
-\ 'output_stream': 'stdout',
-\ 'executable': {b -> ale#Var(b, 'apkbuild_secfixes_check_executable')},
-\ 'command': '%e %t',
-\ 'callback': 'ale#handlers#atools#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/asciidoc/alex.vim b/dot_vim/plugged/ale/ale_linters/asciidoc/alex.vim
deleted file mode 100644
index 97976b2..0000000
--- a/dot_vim/plugged/ale/ale_linters/asciidoc/alex.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Author: Johannes Wienke
-" Description: alex for asciidoc files
-
-call ale#handlers#alex#DefineLinter('asciidoc', '--text')
diff --git a/dot_vim/plugged/ale/ale_linters/asciidoc/cspell.vim b/dot_vim/plugged/ale/ale_linters/asciidoc/cspell.vim
deleted file mode 100644
index b228b2e..0000000
--- a/dot_vim/plugged/ale/ale_linters/asciidoc/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for ASCIIDoc files.
-
-call ale#handlers#cspell#DefineLinter('asciidoc')
diff --git a/dot_vim/plugged/ale/ale_linters/asciidoc/languagetool.vim b/dot_vim/plugged/ale/ale_linters/asciidoc/languagetool.vim
deleted file mode 100644
index 8e8de7f..0000000
--- a/dot_vim/plugged/ale/ale_linters/asciidoc/languagetool.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-" Author: Horacio Sanson (hsanson [ät] gmail.com)
-" Description: languagetool for asciidoc files, copied from markdown.
-
-
-call ale#handlers#languagetool#DefineLinter('asciidoc')
diff --git a/dot_vim/plugged/ale/ale_linters/asciidoc/proselint.vim b/dot_vim/plugged/ale/ale_linters/asciidoc/proselint.vim
deleted file mode 100644
index b636c06..0000000
--- a/dot_vim/plugged/ale/ale_linters/asciidoc/proselint.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: Daniel M. Capella https://github.com/polyzen
-" Description: proselint for AsciiDoc files
-
-call ale#linter#Define('asciidoc', {
-\ 'name': 'proselint',
-\ 'executable': 'proselint',
-\ 'command': 'proselint %t',
-\ 'callback': 'ale#handlers#unix#HandleAsWarning',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/asciidoc/redpen.vim b/dot_vim/plugged/ale/ale_linters/asciidoc/redpen.vim
deleted file mode 100644
index 819e385..0000000
--- a/dot_vim/plugged/ale/ale_linters/asciidoc/redpen.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: rhysd https://rhysd.github.io
-" Description: Redpen, a proofreading tool (http://redpen.cc)
-
-call ale#linter#Define('asciidoc', {
-\ 'name': 'redpen',
-\ 'executable': 'redpen',
-\ 'command': 'redpen -f asciidoc -r json %t',
-\ 'callback': 'ale#handlers#redpen#HandleRedpenOutput',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/asciidoc/textlint.vim b/dot_vim/plugged/ale/ale_linters/asciidoc/textlint.vim
deleted file mode 100644
index 308a3a2..0000000
--- a/dot_vim/plugged/ale/ale_linters/asciidoc/textlint.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: TANIGUCHI Masaya
-" Description: textlint for AsciiDoc files
-
-call ale#linter#Define('asciidoc', {
-\ 'name': 'textlint',
-\ 'executable': function('ale#handlers#textlint#GetExecutable'),
-\ 'command': function('ale#handlers#textlint#GetCommand'),
-\ 'callback': 'ale#handlers#textlint#HandleTextlintOutput',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/asciidoc/vale.vim b/dot_vim/plugged/ale/ale_linters/asciidoc/vale.vim
deleted file mode 100644
index b3cf454..0000000
--- a/dot_vim/plugged/ale/ale_linters/asciidoc/vale.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: Jeff Kreeftmeijer https://github.com/jeffkreeftmeijer
-" Description: vale for AsciiDoc files
-
-call ale#linter#Define('asciidoc', {
-\ 'name': 'vale',
-\ 'executable': 'vale',
-\ 'command': 'vale --output=line %t',
-\ 'callback': 'ale#handlers#unix#HandleAsWarning',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/asciidoc/writegood.vim b/dot_vim/plugged/ale/ale_linters/asciidoc/writegood.vim
deleted file mode 100644
index a29b7e9..0000000
--- a/dot_vim/plugged/ale/ale_linters/asciidoc/writegood.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Author: Sumner Evans
-" Description: write-good for AsciiDoc files
-
-call ale#handlers#writegood#DefineLinter('asciidoc')
diff --git a/dot_vim/plugged/ale/ale_linters/asm/gcc.vim b/dot_vim/plugged/ale/ale_linters/asm/gcc.vim
deleted file mode 100644
index cda3892..0000000
--- a/dot_vim/plugged/ale/ale_linters/asm/gcc.vim
+++ /dev/null
@@ -1,37 +0,0 @@
-" Author: Lucas Kolstad
-" Description: gcc linter for asm files
-
-call ale#Set('asm_gcc_executable', 'gcc')
-call ale#Set('asm_gcc_options', '-Wall')
-
-function! ale_linters#asm#gcc#GetCommand(buffer) abort
- " `-o /dev/null` or `-o null` is needed to catch all errors,
- " -fsyntax-only doesn't catch everything.
- return '%e -x assembler'
- \ . ' -o ' . g:ale#util#nul_file
- \ . '-iquote %s:h'
- \ . ' ' . ale#Var(a:buffer, 'asm_gcc_options') . ' -'
-endfunction
-
-function! ale_linters#asm#gcc#Handle(buffer, lines) abort
- let l:pattern = '^.\+:\(\d\+\): \([^:]\+\): \(.\+\)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': l:match[1] + 0,
- \ 'type': l:match[2] =~? 'error' ? 'E' : 'W',
- \ 'text': l:match[3],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('asm', {
-\ 'name': 'gcc',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'asm_gcc_executable')},
-\ 'command': function('ale_linters#asm#gcc#GetCommand'),
-\ 'callback': 'ale_linters#asm#gcc#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/avra/avra.vim b/dot_vim/plugged/ale/ale_linters/avra/avra.vim
deleted file mode 100644
index edf15c0..0000000
--- a/dot_vim/plugged/ale/ale_linters/avra/avra.vim
+++ /dev/null
@@ -1,36 +0,0 @@
-" Author: Utkarsh Verma
-" Description: AVRA linter for avra syntax.
-
-call ale#Set('avra_avra_executable', 'avra')
-call ale#Set('avra_avra_options', '')
-
-function! ale_linters#avra#avra#GetCommand(buffer) abort
- return '%e'
- \ . ' %t'
- \ . ale#Pad(ale#Var(a:buffer, 'avra_avra_options'))
- \ . ' -o ' . g:ale#util#nul_file
-endfunction
-
-function! ale_linters#avra#avra#Handle(buffer, lines) abort
- " Note that we treat 'fatal' as errors.
- let l:pattern = '^\S\+(\(\d\+\))\s\+:\s\+\(\S\+\)\s\+:\s\+\(.\+\)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': l:match[1] + 0,
- \ 'type': l:match[2] =~? 'Error' ? 'E' : 'W',
- \ 'text': l:match[3],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('avra', {
-\ 'name': 'avra',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'avra_avra_executable')},
-\ 'command': function('ale_linters#avra#avra#GetCommand'),
-\ 'callback': 'ale_linters#avra#avra#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/awk/gawk.vim b/dot_vim/plugged/ale/ale_linters/awk/gawk.vim
deleted file mode 100644
index 0c3212f..0000000
--- a/dot_vim/plugged/ale/ale_linters/awk/gawk.vim
+++ /dev/null
@@ -1,23 +0,0 @@
-" Author: kmarc
-" Description: This file adds support for using GNU awk with scripts.
-
-call ale#Set('awk_gawk_executable', 'gawk')
-call ale#Set('awk_gawk_options', '')
-
-function! ale_linters#awk#gawk#GetCommand(buffer) abort
- " note the --source 'BEGIN ...' is to prevent
- " gawk from attempting to execute the body of the script
- " it is linting.
- return '%e --source ' . ale#Escape('BEGIN { exit } END { exit 1 }')
- \ . ' --lint'
- \ . ale#Pad(ale#Var(a:buffer, 'awk_gawk_options'))
- \ . ' -f %t /dev/null'
-endfunction
-
-call ale#linter#Define('awk', {
-\ 'name': 'gawk',
-\ 'executable': {b -> ale#Var(b, 'awk_gawk_executable')},
-\ 'command': function('ale_linters#awk#gawk#GetCommand'),
-\ 'callback': 'ale#handlers#gawk#HandleGawkFormat',
-\ 'output_stream': 'both'
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/bats/shellcheck.vim b/dot_vim/plugged/ale/ale_linters/bats/shellcheck.vim
deleted file mode 100644
index 5c2a0ea..0000000
--- a/dot_vim/plugged/ale/ale_linters/bats/shellcheck.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Author: Ian2020
-" Description: shellcheck linter for bats scripts.
-
-call ale#handlers#shellcheck#DefineLinter('bats')
diff --git a/dot_vim/plugged/ale/ale_linters/bib/bibclean.vim b/dot_vim/plugged/ale/ale_linters/bib/bibclean.vim
deleted file mode 100644
index f1610e0..0000000
--- a/dot_vim/plugged/ale/ale_linters/bib/bibclean.vim
+++ /dev/null
@@ -1,80 +0,0 @@
-" Author: Horacio Sanson - https://github.com/hsanson
-" Description: Support for bibclean linter for BibTeX files.
-
-call ale#Set('bib_bibclean_executable', 'bibclean')
-
-function! ale_linters#bib#bibclean#GetCommand(buffer) abort
- let l:executable = ale#Var(a:buffer, 'bib_bibclean_executable')
-
- return ale#Escape(l:executable) . ' -file-position '
-endfunction
-
-function! ale_linters#bib#bibclean#get_type(str) abort
- if a:str is# '??'
- return 'E'
- else
- return 'W'
- endif
-endfunction
-
-function! ale_linters#bib#bibclean#match_msg(line) abort
- " Legacy message pattern works for bibclean <= v2.11.4. If empty, try
- " the new message pattern for bibtex > v2.11.4
- let l:matches_legacy = matchlist(a:line, '^\(.*\) "stdin", line \(\d\+\): \(.*\)$')
-
- return ! empty(l:matches_legacy) ? l:matches_legacy
- \ : matchlist(a:line, '^\(.*\) stdin:\(\d\+\):\(.*\)$')
-endfunction
-
-function! ale_linters#bib#bibclean#match_entry(line) abort
- return matchlist(a:line, 'Entry input byte=.* line=\(.*\) column=\(.*\) output .*$')
-endfunction
-
-function! ale_linters#bib#bibclean#match_value(line) abort
- return matchlist(a:line, 'Value input byte=.* line=\(.*\) column=\(.*\) output .*$')
-endfunction
-
-function! ale_linters#bib#bibclean#Handle(buffer, lines) abort
- let l:output = []
-
- let l:type = 'E'
- let l:msg = ''
-
- for l:line in a:lines
- if empty(l:msg)
- let l:mlist = ale_linters#bib#bibclean#match_msg(l:line)
-
- if !empty(l:mlist)
- let l:msg = l:mlist[3]
- let l:type = ale_linters#bib#bibclean#get_type(l:mlist[1])
- endif
- else
- if l:type is# 'E'
- let l:mlist = ale_linters#bib#bibclean#match_entry(l:line)
- else
- let l:mlist = ale_linters#bib#bibclean#match_value(l:line)
- endif
-
- if !empty(l:mlist)
- call add(l:output, {
- \ 'lnum': l:mlist[1],
- \ 'col': l:mlist[2],
- \ 'text': l:msg,
- \ 'type': l:type
- \})
-
- let l:msg = ''
- endif
- endif
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('bib', {
-\ 'name': 'bibclean',
-\ 'executable': {b -> ale#Var(b, 'bib_bibclean_executable')},
-\ 'command': function('ale_linters#bib#bibclean#GetCommand'),
-\ 'output_stream': 'stderr',
-\ 'callback': 'ale_linters#bib#bibclean#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/bicep/bicep.vim b/dot_vim/plugged/ale/ale_linters/bicep/bicep.vim
deleted file mode 100644
index 91cc198..0000000
--- a/dot_vim/plugged/ale/ale_linters/bicep/bicep.vim
+++ /dev/null
@@ -1,64 +0,0 @@
-" Author: Carl Smedstad
-" Description: bicep for bicep files
-
-let g:ale_bicep_bicep_executable =
-\ get(g:, 'ale_bicep_bicep_executable', 'bicep')
-
-let g:ale_bicep_bicep_options =
-\ get(g:, 'ale_bicep_bicep_options', '')
-
-function! ale_linters#bicep#bicep#Executable(buffer) abort
- return ale#Var(a:buffer, 'bicep_bicep_executable')
-endfunction
-
-function! ale_linters#bicep#bicep#Command(buffer) abort
- let l:executable = ale_linters#bicep#bicep#Executable(a:buffer)
- let l:options = ale#Var(a:buffer, 'bicep_bicep_options')
-
- if has('win32')
- let l:nullfile = 'NUL'
- else
- let l:nullfile = '/dev/null'
- endif
-
- return ale#Escape(l:executable)
- \ . ' build --outfile '
- \ . l:nullfile
- \ . ' '
- \ . l:options
- \ . ' %s'
-endfunction
-
-function! ale_linters#bicep#bicep#Handle(buffer, lines) abort
- let l:pattern = '\v^.*\((\d+),(\d+)\)\s:\s([a-zA-Z]*)\s([-a-zA-Z0-9]*):\s(.*)'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- if l:match[3] is# 'Error'
- let l:type = 'E'
- elseif l:match[3] is# 'Warning'
- let l:type = 'W'
- else
- let l:type = 'I'
- endif
-
- call add(l:output, {
- \ 'lnum': l:match[1] + 0,
- \ 'col': l:match[2] + 0,
- \ 'type': l:type,
- \ 'code': l:match[4],
- \ 'text': l:match[5],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('bicep', {
-\ 'name': 'bicep',
-\ 'executable': function('ale_linters#bicep#bicep#Executable'),
-\ 'command': function('ale_linters#bicep#bicep#Command'),
-\ 'callback': 'ale_linters#bicep#bicep#Handle',
-\ 'output_stream': 'both',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/bitbake/oelint_adv.vim b/dot_vim/plugged/ale/ale_linters/bitbake/oelint_adv.vim
deleted file mode 100644
index fb85a9b..0000000
--- a/dot_vim/plugged/ale/ale_linters/bitbake/oelint_adv.vim
+++ /dev/null
@@ -1,47 +0,0 @@
-" Author: offa
-" Description: oelint-adv for BitBake files
-
-call ale#Set('bitbake_oelint_adv_executable', 'oelint-adv')
-call ale#Set('bitbake_oelint_adv_options', '')
-call ale#Set('bitbake_oelint_adv_config', '.oelint.cfg')
-
-function! ale_linters#bitbake#oelint_adv#Command(buffer) abort
- let l:config_file = ale#path#FindNearestFile(a:buffer,
- \ ale#Var(a:buffer, 'bitbake_oelint_adv_config'))
-
- return ((!empty(l:config_file))
- \ ? 'OELINT_CONFIG=' . ale#Escape(l:config_file) . ' '
- \ : '')
- \ . '%e --quiet '
- \ . ale#Pad(ale#Var(a:buffer, 'bitbake_oelint_adv_options')) . '%s'
-endfunction
-
-function! ale_linters#bitbake#oelint_adv#Handle(buffer, lines) abort
- let l:pattern = '\v^(.+):(.+):(.+):(.+):(.+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': str2nr(l:match[2]),
- \ 'type': l:match[3] is# 'error'
- \ ? 'E' : (l:match[3] is# 'warning' ? 'W' : 'I'),
- \ 'text': StripAnsiCodes(l:match[5]),
- \ 'code': l:match[4]
- \ })
- endfor
-
- return l:output
-endfunction
-
-function! StripAnsiCodes(line) abort
- return substitute(a:line, '\e\[[0-9;]\+[mK]', '', 'g')
-endfunction
-
-call ale#linter#Define('bitbake', {
-\ 'name': 'oelint_adv',
-\ 'output_stream': 'both',
-\ 'executable': {b -> ale#Var(b, 'bitbake_oelint_adv_executable')},
-\ 'cwd': '%s:h',
-\ 'command': function('ale_linters#bitbake#oelint_adv#Command'),
-\ 'callback': 'ale_linters#bitbake#oelint_adv#Handle',
-\ })
diff --git a/dot_vim/plugged/ale/ale_linters/c/cc.vim b/dot_vim/plugged/ale/ale_linters/c/cc.vim
deleted file mode 100644
index 35125f2..0000000
--- a/dot_vim/plugged/ale/ale_linters/c/cc.vim
+++ /dev/null
@@ -1,67 +0,0 @@
-" Author: w0rp
-" Description: A C compiler linter for C files with gcc/clang, etc.
-
-call ale#Set('c_cc_executable', '')
-call ale#Set('c_cc_options', '-std=c11 -Wall')
-call ale#Set('c_cc_use_header_lang_flag', -1)
-call ale#Set('c_cc_header_exts', ['h'])
-
-function! ale_linters#c#cc#GetExecutable(buffer) abort
- let l:executable = ale#Var(a:buffer, 'c_cc_executable')
-
- " Default to either clang or gcc.
- if l:executable is# ''
- if ale#engine#IsExecutable(a:buffer, 'clang')
- let l:executable = 'clang'
- else
- let l:executable = 'gcc'
- endif
- endif
-
- return l:executable
-endfunction
-
-function! ale_linters#c#cc#GetCommand(buffer, output) abort
- let l:cflags = ale#c#GetCFlags(a:buffer, a:output)
- let l:ale_flags = ale#Var(a:buffer, 'c_cc_options')
-
- if l:cflags =~# '-std='
- let l:ale_flags = substitute(
- \ l:ale_flags,
- \ '-std=\(c\|gnu\)[0-9]\{2\}',
- \ '',
- \ 'g')
- endif
-
- " Select the correct language flag depending on the executable, options
- " and file extension
- let l:executable = ale_linters#c#cc#GetExecutable(a:buffer)
- let l:use_header_lang_flag = ale#Var(a:buffer, 'c_cc_use_header_lang_flag')
- let l:header_exts = ale#Var(a:buffer, 'c_cc_header_exts')
- let l:lang_flag = ale#c#GetLanguageFlag(
- \ a:buffer,
- \ l:executable,
- \ l:use_header_lang_flag,
- \ l:header_exts,
- \ 'c')
-
- " -iquote with the directory the file is in makes #include work for
- " headers in the same directory.
- "
- " `-o /dev/null` or `-o null` is needed to catch all errors,
- " -fsyntax-only doesn't catch everything.
- return '%e -S -x ' . l:lang_flag
- \ . ' -o ' . g:ale#util#nul_file
- \ . ' -iquote %s:h'
- \ . ale#Pad(l:cflags)
- \ . ale#Pad(l:ale_flags) . ' -'
-endfunction
-
-call ale#linter#Define('c', {
-\ 'name': 'cc',
-\ 'aliases': ['gcc', 'clang'],
-\ 'output_stream': 'stderr',
-\ 'executable': function('ale_linters#c#cc#GetExecutable'),
-\ 'command': {b -> ale#c#RunMakeCommand(b, function('ale_linters#c#cc#GetCommand'))},
-\ 'callback': 'ale#handlers#gcc#HandleGCCFormatWithIncludes',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/c/ccls.vim b/dot_vim/plugged/ale/ale_linters/c/ccls.vim
deleted file mode 100644
index 9f10571..0000000
--- a/dot_vim/plugged/ale/ale_linters/c/ccls.vim
+++ /dev/null
@@ -1,15 +0,0 @@
-" Author: Ye Jingchen , Ben Falconer , jtalowell
-" Description: A language server for C
-
-call ale#Set('c_ccls_executable', 'ccls')
-call ale#Set('c_ccls_init_options', {})
-call ale#Set('c_build_dir', '')
-
-call ale#linter#Define('c', {
-\ 'name': 'ccls',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'c_ccls_executable')},
-\ 'command': '%e',
-\ 'project_root': function('ale#handlers#ccls#GetProjectRoot'),
-\ 'initialization_options': {b -> ale#handlers#ccls#GetInitOpts(b, 'c_ccls_init_options')},
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/c/clangd.vim b/dot_vim/plugged/ale/ale_linters/c/clangd.vim
deleted file mode 100644
index c42d449..0000000
--- a/dot_vim/plugged/ale/ale_linters/c/clangd.vim
+++ /dev/null
@@ -1,22 +0,0 @@
-" Author: Andrey Melentyev
-" Description: Clangd language server
-
-call ale#Set('c_clangd_executable', 'clangd')
-call ale#Set('c_clangd_options', '')
-call ale#Set('c_build_dir', '')
-
-function! ale_linters#c#clangd#GetCommand(buffer) abort
- let l:build_dir = ale#c#GetBuildDirectory(a:buffer)
-
- return '%e'
- \ . ale#Pad(ale#Var(a:buffer, 'c_clangd_options'))
- \ . (!empty(l:build_dir) ? ' -compile-commands-dir=' . ale#Escape(l:build_dir) : '')
-endfunction
-
-call ale#linter#Define('c', {
-\ 'name': 'clangd',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'c_clangd_executable')},
-\ 'command': function('ale_linters#c#clangd#GetCommand'),
-\ 'project_root': function('ale#c#FindProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/c/clangtidy.vim b/dot_vim/plugged/ale/ale_linters/c/clangtidy.vim
deleted file mode 100644
index 553cc23..0000000
--- a/dot_vim/plugged/ale/ale_linters/c/clangtidy.vim
+++ /dev/null
@@ -1,52 +0,0 @@
-" Author: vdeurzen , w0rp ,
-" gagbo , Andrej Radovic
-" Description: clang-tidy linter for c files
-
-call ale#Set('c_clangtidy_executable', 'clang-tidy')
-" Set this option to check the checks clang-tidy will apply.
-" The number of checks that can be applied to C files is limited in contrast to
-" C++
-"
-" Consult the check list in clang-tidy's documentation:
-" http://clang.llvm.org/extra/clang-tidy/checks/list.html
-
-call ale#Set('c_clangtidy_checks', [])
-" Set this option to manually set some options for clang-tidy to use as compile
-" flags.
-" This will disable compile_commands.json detection.
-call ale#Set('c_clangtidy_options', '')
-" Set this option to manually set options for clang-tidy directly.
-call ale#Set('c_clangtidy_extra_options', '')
-call ale#Set('c_build_dir', '')
-
-function! ale_linters#c#clangtidy#GetCommand(buffer, output) abort
- let l:checks = join(ale#Var(a:buffer, 'c_clangtidy_checks'), ',')
- let l:build_dir = ale#c#GetBuildDirectory(a:buffer)
- let l:options = ''
-
- " Get the extra options if we couldn't find a build directory.
- if empty(l:build_dir)
- let l:options = ale#Var(a:buffer, 'c_clangtidy_options')
- let l:cflags = ale#c#GetCFlags(a:buffer, a:output)
- let l:options .= !empty(l:options) ? ale#Pad(l:cflags) : l:cflags
- endif
-
- " Get the options to pass directly to clang-tidy
- let l:extra_options = ale#Var(a:buffer, 'c_clangtidy_extra_options')
-
- return '%e'
- \ . (!empty(l:checks) ? ' -checks=' . ale#Escape(l:checks) : '')
- \ . (!empty(l:extra_options) ? ' ' . ale#Escape(l:extra_options) : '')
- \ . ' %s'
- \ . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '')
- \ . (!empty(l:options) ? ' -- ' . l:options : '')
-endfunction
-
-call ale#linter#Define('c', {
-\ 'name': 'clangtidy',
-\ 'output_stream': 'stdout',
-\ 'executable': {b -> ale#Var(b, 'c_clangtidy_executable')},
-\ 'command': {b -> ale#c#RunMakeCommand(b, function('ale_linters#c#clangtidy#GetCommand'))},
-\ 'callback': 'ale#handlers#gcc#HandleGCCFormat',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/c/cppcheck.vim b/dot_vim/plugged/ale/ale_linters/c/cppcheck.vim
deleted file mode 100644
index 28c2861..0000000
--- a/dot_vim/plugged/ale/ale_linters/c/cppcheck.vim
+++ /dev/null
@@ -1,29 +0,0 @@
-" Author: Bart Libert
-" Description: cppcheck linter for c files
-
-call ale#Set('c_cppcheck_executable', 'cppcheck')
-call ale#Set('c_cppcheck_options', '--enable=style')
-
-function! ale_linters#c#cppcheck#GetCommand(buffer) abort
- let l:compile_commands_option = ale#handlers#cppcheck#GetCompileCommandsOptions(a:buffer)
- let l:buffer_path_include = empty(l:compile_commands_option)
- \ ? ale#handlers#cppcheck#GetBufferPathIncludeOptions(a:buffer)
- \ : ''
- let l:template = ' --template=' . ale#Escape('{file}:{line}:{column}: {severity}:{inconclusive:inconclusive:} {message} [{id}]\\n{code}')
-
- return '%e -q --language=c'
- \ . l:template
- \ . ale#Pad(l:compile_commands_option)
- \ . ale#Pad(ale#Var(a:buffer, 'c_cppcheck_options'))
- \ . l:buffer_path_include
- \ . ' %t'
-endfunction
-
-call ale#linter#Define('c', {
-\ 'name': 'cppcheck',
-\ 'output_stream': 'both',
-\ 'executable': {b -> ale#Var(b, 'c_cppcheck_executable')},
-\ 'cwd': function('ale#handlers#cppcheck#GetCwd'),
-\ 'command': function('ale_linters#c#cppcheck#GetCommand'),
-\ 'callback': 'ale#handlers#cppcheck#HandleCppCheckFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/c/cpplint.vim b/dot_vim/plugged/ale/ale_linters/c/cpplint.vim
deleted file mode 100644
index 4b99794..0000000
--- a/dot_vim/plugged/ale/ale_linters/c/cpplint.vim
+++ /dev/null
@@ -1,20 +0,0 @@
-" Author: Justin Huang
-" Description: cpplint for c files
-
-call ale#Set('c_cpplint_executable', 'cpplint')
-call ale#Set('c_cpplint_options', '')
-
-function! ale_linters#c#cpplint#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'c_cpplint_options')
-
- return '%e' . ale#Pad(l:options) . ' %s'
-endfunction
-
-call ale#linter#Define('c', {
-\ 'name': 'cpplint',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'c_cpplint_executable')},
-\ 'command': function('ale_linters#c#cpplint#GetCommand'),
-\ 'callback': 'ale#handlers#cpplint#HandleCppLintFormat',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/c/cquery.vim b/dot_vim/plugged/ale/ale_linters/c/cquery.vim
deleted file mode 100644
index ff0f34a..0000000
--- a/dot_vim/plugged/ale/ale_linters/c/cquery.vim
+++ /dev/null
@@ -1,30 +0,0 @@
-" Author: Ben Falconer , jtalowell
-" Description: A language server for C
-
-call ale#Set('c_cquery_executable', 'cquery')
-call ale#Set('c_cquery_cache_directory', expand('~/.cache/cquery'))
-
-function! ale_linters#c#cquery#GetProjectRoot(buffer) abort
- " Try to find cquery configuration files first.
- let l:config = ale#path#FindNearestFile(a:buffer, '.cquery')
-
- if !empty(l:config)
- return fnamemodify(l:config, ':h')
- endif
-
- " Fall back on default project root detection.
- return ale#c#FindProjectRoot(a:buffer)
-endfunction
-
-function! ale_linters#c#cquery#GetInitializationOptions(buffer) abort
- return {'cacheDirectory': ale#Var(a:buffer, 'c_cquery_cache_directory')}
-endfunction
-
-call ale#linter#Define('c', {
-\ 'name': 'cquery',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'c_cquery_executable')},
-\ 'command': '%e',
-\ 'project_root': function('ale_linters#c#cquery#GetProjectRoot'),
-\ 'initialization_options': function('ale_linters#c#cquery#GetInitializationOptions'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/c/cspell.vim b/dot_vim/plugged/ale/ale_linters/c/cspell.vim
deleted file mode 100644
index 5f01654..0000000
--- a/dot_vim/plugged/ale/ale_linters/c/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for C files.
-
-call ale#handlers#cspell#DefineLinter('c')
diff --git a/dot_vim/plugged/ale/ale_linters/c/flawfinder.vim b/dot_vim/plugged/ale/ale_linters/c/flawfinder.vim
deleted file mode 100644
index 53c3671..0000000
--- a/dot_vim/plugged/ale/ale_linters/c/flawfinder.vim
+++ /dev/null
@@ -1,25 +0,0 @@
-" Author: Christian Gibbons
-" Description: flawfinder linter for c files
-
-call ale#Set('c_flawfinder_executable', 'flawfinder')
-call ale#Set('c_flawfinder_options', '')
-call ale#Set('c_flawfinder_minlevel', 1)
-call ale#Set('c_flawfinder_error_severity', 6)
-
-function! ale_linters#c#flawfinder#GetCommand(buffer) abort
- " Set the minimum vulnerability level for flawfinder to bother with
- let l:minlevel = ' --minlevel=' . ale#Var(a:buffer, 'c_flawfinder_minlevel')
-
- return '%e -CDQS'
- \ . ale#Pad(ale#Var(a:buffer, 'c_flawfinder_options'))
- \ . l:minlevel
- \ . ' %t'
-endfunction
-
-call ale#linter#Define('c', {
-\ 'name': 'flawfinder',
-\ 'output_stream': 'stdout',
-\ 'executable': {b -> ale#Var(b, 'c_flawfinder_executable')},
-\ 'command': function('ale_linters#c#flawfinder#GetCommand'),
-\ 'callback': 'ale#handlers#flawfinder#HandleFlawfinderFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cairo/starknet.vim b/dot_vim/plugged/ale/ale_linters/cairo/starknet.vim
deleted file mode 100644
index 990bda6..0000000
--- a/dot_vim/plugged/ale/ale_linters/cairo/starknet.vim
+++ /dev/null
@@ -1,37 +0,0 @@
-" Author: 0xHyoga <0xHyoga@gmx.com>
-" Description: Report starknet-compile errors in cairo code
-
-call ale#Set('cairo_starknet_executable', 'starknet-compile')
-call ale#Set('cairo_starknet_options', '')
-
-function! ale_linters#cairo#starknet#Handle(buffer, lines) abort
- " Error always on the first line
- " e.g ex01.cairo:20:6: Could not find module 'contracts.utils.ex00_base'. Searched in the following paths:
- let l:pattern = '\v\.cairo:(\d+):(\d+):+ (.*)'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': str2nr(l:match[1]),
- \ 'col': str2nr(l:match[2]),
- \ 'type': 'E',
- \ 'text': l:match[3],
- \})
- endfor
-
- return l:output
-endfunction
-
-function! ale_linters#cairo#starknet#GetCommand(buffer) abort
- let l:executable = ale#Var(a:buffer, 'cairo_starknet_executable')
-
- return l:executable . ale#Pad(ale#Var(a:buffer, 'cairo_starknet_options')) . ' %s'
-endfunction
-
-call ale#linter#Define('cairo', {
-\ 'name': 'starknet',
-\ 'executable': {b -> ale#Var(b, 'cairo_starknet_executable')},
-\ 'command': function('ale_linters#cairo#starknet#GetCommand'),
-\ 'callback': 'ale_linters#cairo#starknet#Handle',
-\ 'output_stream': 'stderr',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/chef/cookstyle.vim b/dot_vim/plugged/ale/ale_linters/chef/cookstyle.vim
deleted file mode 100644
index 50bae2a..0000000
--- a/dot_vim/plugged/ale/ale_linters/chef/cookstyle.vim
+++ /dev/null
@@ -1,54 +0,0 @@
-" Author: Raphael Hoegger - https://github.com/pfuender
-" Description: Cookstyle (RuboCop based), a code style analyzer for Ruby files
-
-call ale#Set('chef_cookstyle_executable', 'cookstyle')
-call ale#Set('chef_cookstyle_options', '')
-
-function! ale_linters#chef#cookstyle#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'chef_cookstyle_options')
-
- return '%e' . ale#Pad(escape(l:options, '~')) . ' --force-exclusion --format json --stdin ' . ' %s'
-endfunction
-
-function! ale_linters#chef#cookstyle#Handle(buffer, lines) abort
- if len(a:lines) == 0
- return []
- endif
-
- let l:errors = ale#util#FuzzyJSONDecode(a:lines[0], {})
-
- if !has_key(l:errors, 'summary')
- \|| l:errors['summary']['offense_count'] == 0
- \|| empty(l:errors['files'])
- return []
- endif
-
- let l:output = []
-
- for l:error in l:errors['files'][0]['offenses']
- let l:start_col = str2nr(l:error['location']['start_column'])
- let l:end_col = str2nr(l:error['location']['last_column'])
-
- if !l:end_col
- let l:end_col = l:start_col + 1
- endif
-
- call add(l:output, {
- \ 'lnum': str2nr(l:error['location']['line']),
- \ 'col': l:start_col,
- \ 'end_col': l:end_col,
- \ 'code': l:error['cop_name'],
- \ 'text': l:error['message'],
- \ 'type': l:error['severity'] is? 'convention' ? 'W' : 'E',
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('chef', {
-\ 'name': 'cookstyle',
-\ 'executable': {b -> ale#Var(b, 'chef_cookstyle_executable')},
-\ 'command': function('ale_linters#chef#cookstyle#GetCommand'),
-\ 'callback': 'ale_linters#chef#cookstyle#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/chef/foodcritic.vim b/dot_vim/plugged/ale/ale_linters/chef/foodcritic.vim
deleted file mode 100644
index 48beba7..0000000
--- a/dot_vim/plugged/ale/ale_linters/chef/foodcritic.vim
+++ /dev/null
@@ -1,41 +0,0 @@
-" Author: Edward Larkey
-" Author: Jose Junior
-" Author: w0rp
-" Description: This file adds the foodcritic linter for Chef files.
-
-call ale#Set('chef_foodcritic_executable', 'foodcritic')
-call ale#Set('chef_foodcritic_options', '')
-
-function! ale_linters#chef#foodcritic#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'chef_foodcritic_options')
-
- return '%e' . ale#Pad(escape(l:options, '~')) . ' %s'
-endfunction
-
-function! ale_linters#chef#foodcritic#Handle(buffer, lines) abort
- " Matches patterns line the following:
- "
- " FC002: Avoid string interpolation where not required: httpd.rb:13
- let l:pattern = '\v([^:]+): (.+): ([a-zA-Z]?:?[^:]+):(\d+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'code': l:match[1],
- \ 'text': l:match[2],
- \ 'filename': l:match[3],
- \ 'lnum': l:match[4] + 0,
- \ 'type': 'W',
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('chef', {
-\ 'name': 'foodcritic',
-\ 'executable': {b -> ale#Var(b, 'chef_foodcritic_executable')},
-\ 'command': function('ale_linters#chef#foodcritic#GetCommand'),
-\ 'callback': 'ale_linters#chef#foodcritic#Handle',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/clojure/clj_kondo.vim b/dot_vim/plugged/ale/ale_linters/clojure/clj_kondo.vim
deleted file mode 100644
index b470cf0..0000000
--- a/dot_vim/plugged/ale/ale_linters/clojure/clj_kondo.vim
+++ /dev/null
@@ -1,47 +0,0 @@
-" Author: Masashi Iizuka
-" Description: linter for clojure using clj-kondo https://github.com/borkdude/clj-kondo
-
-call ale#Set('clojure_clj_kondo_options', '--cache')
-
-function! ale_linters#clojure#clj_kondo#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'clojure_clj_kondo_options')
-
- let l:command = 'clj-kondo'
- \ . ale#Pad(l:options)
- \ . ' --lint -'
- \ . ' --filename %s'
-
- return l:command
-endfunction
-
-function! ale_linters#clojure#clj_kondo#HandleCljKondoFormat(buffer, lines) abort
- " output format
- " ::: :
- let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+)?:(\d+)?:? ((Exception|error|warning): ?(.+))$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:type = 'E'
-
- if l:match[4] is? 'warning'
- let l:type = 'W'
- endif
-
- call add(l:output, {
- \ 'lnum': l:match[1] + 0,
- \ 'col': l:match[2] + 0,
- \ 'text': l:match[3],
- \ 'type': l:type,
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('clojure', {
-\ 'name': 'clj-kondo',
-\ 'output_stream': 'stdout',
-\ 'executable': 'clj-kondo',
-\ 'command': function('ale_linters#clojure#clj_kondo#GetCommand'),
-\ 'callback': 'ale_linters#clojure#clj_kondo#HandleCljKondoFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/clojure/joker.vim b/dot_vim/plugged/ale/ale_linters/clojure/joker.vim
deleted file mode 100644
index 1f17cd3..0000000
--- a/dot_vim/plugged/ale/ale_linters/clojure/joker.vim
+++ /dev/null
@@ -1,34 +0,0 @@
-" Author: Nic West
-" Description: linter for clojure using joker https://github.com/candid82/joker
-
-function! ale_linters#clojure#joker#HandleJokerFormat(buffer, lines) abort
- " output format
- " ::: :
- let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+):? ((Read error|Parse error|Parse warning|Exception): ?(.+))$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:type = 'E'
-
- if l:match[4] is? 'Parse warning'
- let l:type = 'W'
- endif
-
- call add(l:output, {
- \ 'lnum': l:match[1] + 0,
- \ 'col': l:match[2] + 0,
- \ 'text': l:match[3],
- \ 'type': l:type,
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('clojure', {
-\ 'name': 'joker',
-\ 'output_stream': 'stderr',
-\ 'executable': 'joker',
-\ 'command': 'joker --working-dir %s --lint %t',
-\ 'callback': 'ale_linters#clojure#joker#HandleJokerFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cloudformation/cfn_python_lint.vim b/dot_vim/plugged/ale/ale_linters/cloudformation/cfn_python_lint.vim
deleted file mode 100644
index 1684143..0000000
--- a/dot_vim/plugged/ale/ale_linters/cloudformation/cfn_python_lint.vim
+++ /dev/null
@@ -1,36 +0,0 @@
-" Author: Yasuhiro Kiyota
-" Description: Support cfn-python-lint for AWS Cloudformation template file
-
-function! ale_linters#cloudformation#cfn_python_lint#Handle(buffer, lines) abort
- " Matches patterns line the following:
- "
- " sample.template.yaml:96:7:96:15:E3012:Property Resources/Sample/Properties/FromPort should be of type Integer
- let l:pattern = '\v^(.*):(\d+):(\d+):(\d+):(\d+):([[:alnum:]]+):(.*)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:code = l:match[6]
-
- if ale#path#IsBufferPath(a:buffer, l:match[1])
- call add(l:output, {
- \ 'lnum': l:match[2],
- \ 'col': l:match[3],
- \ 'end_lnum': l:match[4],
- \ 'end_col': l:match[5],
- \ 'code': l:code,
- \ 'type': l:code[:0] is# 'E' ? 'E' : 'W',
- \ 'text': l:match[7]
- \})
- endif
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('cloudformation', {
-\ 'name': 'cloudformation',
-\ 'aliases': ['cfn-lint'],
-\ 'executable': 'cfn-lint',
-\ 'command': 'cfn-lint --template %t --format parseable',
-\ 'callback': 'ale_linters#cloudformation#cfn_python_lint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cmake/cmake_lint.vim b/dot_vim/plugged/ale/ale_linters/cmake/cmake_lint.vim
deleted file mode 100644
index 3c44c92..0000000
--- a/dot_vim/plugged/ale/ale_linters/cmake/cmake_lint.vim
+++ /dev/null
@@ -1,43 +0,0 @@
-" Author: Carl Smedstad
-" Description: cmake-lint for cmake files
-
-let g:ale_cmake_cmake_lint_executable =
-\ get(g:, 'ale_cmake_cmake_lint_executable', 'cmake-lint')
-
-let g:ale_cmake_cmake_lint_options =
-\ get(g:, 'ale_cmake_cmake_lint_options', '')
-
-function! ale_linters#cmake#cmake_lint#Executable(buffer) abort
- return ale#Var(a:buffer, 'cmake_cmake_lint_executable')
-endfunction
-
-function! ale_linters#cmake#cmake_lint#Command(buffer) abort
- let l:executable = ale_linters#cmake#cmake_lint#Executable(a:buffer)
- let l:options = ale#Var(a:buffer, 'cmake_cmake_lint_options')
-
- return ale#Escape(l:executable) . ' ' . l:options . ' %t'
-endfunction
-
-function! ale_linters#cmake#cmake_lint#Handle(buffer, lines) abort
- let l:pattern = '\v^[^:]+:(\d+),?(\d+)?:\s\[([A-Z]\d+)\]\s(.+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': l:match[1] + 0,
- \ 'col': l:match[2] + 0,
- \ 'type': 'W',
- \ 'code': l:match[3],
- \ 'text': l:match[4],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('cmake', {
-\ 'name': 'cmake_lint',
-\ 'executable': function('ale_linters#cmake#cmake_lint#Executable'),
-\ 'command': function('ale_linters#cmake#cmake_lint#Command'),
-\ 'callback': 'ale_linters#cmake#cmake_lint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cmake/cmakelint.vim b/dot_vim/plugged/ale/ale_linters/cmake/cmakelint.vim
deleted file mode 100644
index d955a26..0000000
--- a/dot_vim/plugged/ale/ale_linters/cmake/cmakelint.vim
+++ /dev/null
@@ -1,24 +0,0 @@
-" Author: Kenneth Benzie
-" Description: cmakelint for cmake files
-
-let g:ale_cmake_cmakelint_executable =
-\ get(g:, 'ale_cmake_cmakelint_executable', 'cmakelint')
-
-let g:ale_cmake_cmakelint_options =
-\ get(g:, 'ale_cmake_cmakelint_options', '')
-
-function! ale_linters#cmake#cmakelint#Executable(buffer) abort
- return ale#Var(a:buffer, 'cmake_cmakelint_executable')
-endfunction
-
-function! ale_linters#cmake#cmakelint#Command(buffer) abort
- return ale_linters#cmake#cmakelint#Executable(a:buffer)
- \ . ' ' . ale#Var(a:buffer, 'cmake_cmakelint_options') . ' %t'
-endfunction
-
-call ale#linter#Define('cmake', {
-\ 'name': 'cmakelint',
-\ 'executable': function('ale_linters#cmake#cmakelint#Executable'),
-\ 'command': function('ale_linters#cmake#cmakelint#Command'),
-\ 'callback': 'ale#handlers#unix#HandleAsWarning',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/coffee/coffee.vim b/dot_vim/plugged/ale/ale_linters/coffee/coffee.vim
deleted file mode 100644
index 8e89163..0000000
--- a/dot_vim/plugged/ale/ale_linters/coffee/coffee.vim
+++ /dev/null
@@ -1,23 +0,0 @@
-" Author: KabbAmine - https://github.com/KabbAmine
-" Description: Coffee for checking coffee files
-
-function! ale_linters#coffee#coffee#GetExecutable(buffer) abort
- return ale#path#ResolveLocalPath(
- \ a:buffer,
- \ 'node_modules/.bin/coffee',
- \ 'coffee'
- \)
-endfunction
-
-function! ale_linters#coffee#coffee#GetCommand(buffer) abort
- return ale_linters#coffee#coffee#GetExecutable(a:buffer)
- \ . ' -cp -s'
-endfunction
-
-call ale#linter#Define('coffee', {
-\ 'name': 'coffee',
-\ 'executable': function('ale_linters#coffee#coffee#GetExecutable'),
-\ 'command': function('ale_linters#coffee#coffee#GetCommand'),
-\ 'output_stream': 'stderr',
-\ 'callback': 'ale#handlers#gcc#HandleGCCFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/coffee/coffeelint.vim b/dot_vim/plugged/ale/ale_linters/coffee/coffeelint.vim
deleted file mode 100644
index b7c85fa..0000000
--- a/dot_vim/plugged/ale/ale_linters/coffee/coffeelint.vim
+++ /dev/null
@@ -1,43 +0,0 @@
-" Author: Prashanth Chandra https://github.com/prashcr
-" Description: coffeelint linter for coffeescript files
-
-function! ale_linters#coffee#coffeelint#GetExecutable(buffer) abort
- return ale#path#ResolveLocalPath(
- \ a:buffer,
- \ 'node_modules/.bin/coffeelint',
- \ 'coffeelint'
- \)
-endfunction
-
-function! ale_linters#coffee#coffeelint#GetCommand(buffer) abort
- return ale_linters#coffee#coffeelint#GetExecutable(a:buffer)
- \ . ' --stdin --reporter csv'
-endfunction
-
-function! ale_linters#coffee#coffeelint#Handle(buffer, lines) abort
- " Matches patterns like the following:
- "
- " path,lineNumber,lineNumberEnd,level,message
- " stdin,14,,error,Throwing strings is forbidden
- "
- " Note that we currently ignore lineNumberEnd for multiline errors
- let l:pattern = 'stdin,\(\d\+\),\(\d*\),\(.\{-1,}\),\(.\+\)'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': str2nr(l:match[1]),
- \ 'type': l:match[3] is# 'error' ? 'E' : 'W',
- \ 'text': l:match[4],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('coffee', {
-\ 'name': 'coffeelint',
-\ 'executable': function('ale_linters#coffee#coffeelint#GetExecutable'),
-\ 'command': function('ale_linters#coffee#coffeelint#GetCommand'),
-\ 'callback': 'ale_linters#coffee#coffeelint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cpp/cc.vim b/dot_vim/plugged/ale/ale_linters/cpp/cc.vim
deleted file mode 100644
index 1d35bb6..0000000
--- a/dot_vim/plugged/ale/ale_linters/cpp/cc.vim
+++ /dev/null
@@ -1,67 +0,0 @@
-" Author: w0rp
-" Description: A C++ compiler linter for C++ files with gcc/clang, etc.
-
-call ale#Set('cpp_cc_executable', '')
-call ale#Set('cpp_cc_options', '-std=c++14 -Wall')
-call ale#Set('cpp_cc_use_header_lang_flag', -1)
-call ale#Set('cpp_cc_header_exts', ['h', 'hpp'])
-
-function! ale_linters#cpp#cc#GetExecutable(buffer) abort
- let l:executable = ale#Var(a:buffer, 'cpp_cc_executable')
-
- " Default to either clang++ or gcc.
- if l:executable is# ''
- if ale#engine#IsExecutable(a:buffer, 'clang++')
- let l:executable = 'clang++'
- else
- let l:executable = 'gcc'
- endif
- endif
-
- return l:executable
-endfunction
-
-function! ale_linters#cpp#cc#GetCommand(buffer, output) abort
- let l:cflags = ale#c#GetCFlags(a:buffer, a:output)
- let l:ale_flags = ale#Var(a:buffer, 'cpp_cc_options')
-
- if l:cflags =~# '-std='
- let l:ale_flags = substitute(
- \ l:ale_flags,
- \ '-std=\(c\|gnu\)++[0-9]\{2\}',
- \ '',
- \ 'g')
- endif
-
- " Select the correct language flag depending on the executable, options
- " and file extension
- let l:executable = ale_linters#cpp#cc#GetExecutable(a:buffer)
- let l:use_header_lang_flag = ale#Var(a:buffer, 'cpp_cc_use_header_lang_flag')
- let l:header_exts = ale#Var(a:buffer, 'cpp_cc_header_exts')
- let l:lang_flag = ale#c#GetLanguageFlag(
- \ a:buffer,
- \ l:executable,
- \ l:use_header_lang_flag,
- \ l:header_exts,
- \ 'c++')
-
- " -iquote with the directory the file is in makes #include work for
- " headers in the same directory.
- "
- " `-o /dev/null` or `-o null` is needed to catch all errors,
- " -fsyntax-only doesn't catch everything.
- return '%e -S -x ' . l:lang_flag
- \ . ' -o ' . g:ale#util#nul_file
- \ . ' -iquote %s:h'
- \ . ale#Pad(l:cflags)
- \ . ale#Pad(l:ale_flags) . ' -'
-endfunction
-
-call ale#linter#Define('cpp', {
-\ 'name': 'cc',
-\ 'aliases': ['gcc', 'clang', 'g++', 'clang++'],
-\ 'output_stream': 'stderr',
-\ 'executable': function('ale_linters#cpp#cc#GetExecutable'),
-\ 'command': {b -> ale#c#RunMakeCommand(b, function('ale_linters#cpp#cc#GetCommand'))},
-\ 'callback': 'ale#handlers#gcc#HandleGCCFormatWithIncludes',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cpp/ccls.vim b/dot_vim/plugged/ale/ale_linters/cpp/ccls.vim
deleted file mode 100644
index 38f8df9..0000000
--- a/dot_vim/plugged/ale/ale_linters/cpp/ccls.vim
+++ /dev/null
@@ -1,15 +0,0 @@
-" Author: Ye Jingchen , Ben Falconer , jtalowell
-" Description: A language server for C++
-
-call ale#Set('cpp_ccls_executable', 'ccls')
-call ale#Set('cpp_ccls_init_options', {})
-call ale#Set('c_build_dir', '')
-
-call ale#linter#Define('cpp', {
-\ 'name': 'ccls',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'cpp_ccls_executable')},
-\ 'command': '%e',
-\ 'project_root': function('ale#handlers#ccls#GetProjectRoot'),
-\ 'initialization_options': {b -> ale#handlers#ccls#GetInitOpts(b, 'cpp_ccls_init_options')},
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cpp/clangcheck.vim b/dot_vim/plugged/ale/ale_linters/cpp/clangcheck.vim
deleted file mode 100644
index 4cb0486..0000000
--- a/dot_vim/plugged/ale/ale_linters/cpp/clangcheck.vim
+++ /dev/null
@@ -1,35 +0,0 @@
-" Author: gagbo
-" Description: clang-check linter for cpp files
-
-call ale#Set('cpp_clangcheck_executable', 'clang-check')
-call ale#Set('cpp_clangcheck_options', '')
-call ale#Set('c_build_dir', '')
-
-function! ale_linters#cpp#clangcheck#GetCommand(buffer) abort
- let l:user_options = ale#Var(a:buffer, 'cpp_clangcheck_options')
-
- " Try to find compilation database to link automatically
- let l:build_dir = ale#Var(a:buffer, 'c_build_dir')
-
- if empty(l:build_dir)
- let [l:root, l:json_file] = ale#c#FindCompileCommands(a:buffer)
- let l:build_dir = ale#path#Dirname(l:json_file)
- endif
-
- " The extra arguments in the command are used to prevent .plist files from
- " being generated. These are only added if no build directory can be
- " detected.
- return '%e -analyze %s'
- \ . (empty(l:build_dir) ? ' --extra-arg=-Xclang --extra-arg=-analyzer-output=text --extra-arg=-fno-color-diagnostics': '')
- \ . ale#Pad(l:user_options)
- \ . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '')
-endfunction
-
-call ale#linter#Define('cpp', {
-\ 'name': 'clangcheck',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'cpp_clangcheck_executable')},
-\ 'command': function('ale_linters#cpp#clangcheck#GetCommand'),
-\ 'callback': 'ale#handlers#gcc#HandleGCCFormat',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cpp/clangd.vim b/dot_vim/plugged/ale/ale_linters/cpp/clangd.vim
deleted file mode 100644
index 14f3fe5..0000000
--- a/dot_vim/plugged/ale/ale_linters/cpp/clangd.vim
+++ /dev/null
@@ -1,22 +0,0 @@
-" Author: Andrey Melentyev
-" Description: Clangd language server
-
-call ale#Set('cpp_clangd_executable', 'clangd')
-call ale#Set('cpp_clangd_options', '')
-call ale#Set('c_build_dir', '')
-
-function! ale_linters#cpp#clangd#GetCommand(buffer) abort
- let l:build_dir = ale#c#GetBuildDirectory(a:buffer)
-
- return '%e'
- \ . ale#Pad(ale#Var(a:buffer, 'cpp_clangd_options'))
- \ . (!empty(l:build_dir) ? ' -compile-commands-dir=' . ale#Escape(l:build_dir) : '')
-endfunction
-
-call ale#linter#Define('cpp', {
-\ 'name': 'clangd',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'cpp_clangd_executable')},
-\ 'command': function('ale_linters#cpp#clangd#GetCommand'),
-\ 'project_root': function('ale#c#FindProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cpp/clangtidy.vim b/dot_vim/plugged/ale/ale_linters/cpp/clangtidy.vim
deleted file mode 100644
index fa9f8e3..0000000
--- a/dot_vim/plugged/ale/ale_linters/cpp/clangtidy.vim
+++ /dev/null
@@ -1,53 +0,0 @@
-" Author: vdeurzen , w0rp ,
-" gagbo
-" Description: clang-tidy linter for cpp files
-
-call ale#Set('cpp_clangtidy_executable', 'clang-tidy')
-" Set this option to check the checks clang-tidy will apply.
-call ale#Set('cpp_clangtidy_checks', [])
-" Set this option to manually set some options for clang-tidy to use as compile
-" flags.
-" This will disable compile_commands.json detection.
-call ale#Set('cpp_clangtidy_options', '')
-" Set this option to manually set options for clang-tidy directly.
-call ale#Set('cpp_clangtidy_extra_options', '')
-call ale#Set('c_build_dir', '')
-
-function! ale_linters#cpp#clangtidy#GetCommand(buffer, output) abort
- let l:checks = join(ale#Var(a:buffer, 'cpp_clangtidy_checks'), ',')
- let l:build_dir = ale#c#GetBuildDirectory(a:buffer)
- let l:options = ''
-
- " Get the extra options if we couldn't find a build directory.
- if empty(l:build_dir)
- let l:options = ale#Var(a:buffer, 'cpp_clangtidy_options')
- let l:cflags = ale#c#GetCFlags(a:buffer, a:output)
- let l:options .= !empty(l:options) ? ale#Pad(l:cflags) : l:cflags
-
- " Tell clang-tidy a .h header with a C++ filetype in Vim is a C++ file
- " only when compile-commands.json file is not there. Adding these
- " flags makes clang-tidy completely ignore compile commands.
- if expand('#' . a:buffer) =~# '\.h$'
- let l:options .= !empty(l:options) ? ' -x c++' : '-x c++'
- endif
- endif
-
- " Get the options to pass directly to clang-tidy
- let l:extra_options = ale#Var(a:buffer, 'cpp_clangtidy_extra_options')
-
- return '%e'
- \ . (!empty(l:checks) ? ' -checks=' . ale#Escape(l:checks) : '')
- \ . (!empty(l:extra_options) ? ' ' . ale#Escape(l:extra_options) : '')
- \ . ' %s'
- \ . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '')
- \ . (!empty(l:options) ? ' -- ' . l:options : '')
-endfunction
-
-call ale#linter#Define('cpp', {
-\ 'name': 'clangtidy',
-\ 'output_stream': 'stdout',
-\ 'executable': {b -> ale#Var(b, 'cpp_clangtidy_executable')},
-\ 'command': {b -> ale#c#RunMakeCommand(b, function('ale_linters#cpp#clangtidy#GetCommand'))},
-\ 'callback': 'ale#handlers#gcc#HandleGCCFormat',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cpp/clazy.vim b/dot_vim/plugged/ale/ale_linters/cpp/clazy.vim
deleted file mode 100644
index 9b29ac9..0000000
--- a/dot_vim/plugged/ale/ale_linters/cpp/clazy.vim
+++ /dev/null
@@ -1,32 +0,0 @@
-" Description: clazy linter for cpp files (clang-based and Qt-oriented)
-
-call ale#Set('cpp_clazy_executable', 'clazy-standalone')
-" Set this option to check the checks clazy will apply.
-call ale#Set('cpp_clazy_checks', ['level1'])
-" Set this option to manually set some options for clazy.
-" This will disable compile_commands.json detection.
-call ale#Set('cpp_clazy_options', '')
-call ale#Set('c_build_dir', '')
-
-function! ale_linters#cpp#clazy#GetCommand(buffer) abort
- let l:checks = join(ale#Var(a:buffer, 'cpp_clazy_checks'), ',')
- let l:build_dir = ale#c#GetBuildDirectory(a:buffer)
-
- " Get the extra options if we couldn't find a build directory.
- let l:options = ale#Var(a:buffer, 'cpp_clazy_options')
-
- return '%e'
- \ . (!empty(l:checks) ? ' -checks=' . ale#Escape(l:checks) : '')
- \ . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '')
- \ . (!empty(l:options) ? ' ' . l:options : '')
- \ . ' %s'
-endfunction
-
-call ale#linter#Define('cpp', {
-\ 'name': 'clazy',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'cpp_clazy_executable')},
-\ 'command': function('ale_linters#cpp#clazy#GetCommand'),
-\ 'callback': 'ale#handlers#gcc#HandleGCCFormat',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cpp/cppcheck.vim b/dot_vim/plugged/ale/ale_linters/cpp/cppcheck.vim
deleted file mode 100644
index eb86adf..0000000
--- a/dot_vim/plugged/ale/ale_linters/cpp/cppcheck.vim
+++ /dev/null
@@ -1,29 +0,0 @@
-" Author: Bart Libert
-" Description: cppcheck linter for cpp files
-
-call ale#Set('cpp_cppcheck_executable', 'cppcheck')
-call ale#Set('cpp_cppcheck_options', '--enable=style')
-
-function! ale_linters#cpp#cppcheck#GetCommand(buffer) abort
- let l:compile_commands_option = ale#handlers#cppcheck#GetCompileCommandsOptions(a:buffer)
- let l:buffer_path_include = empty(l:compile_commands_option)
- \ ? ale#handlers#cppcheck#GetBufferPathIncludeOptions(a:buffer)
- \ : ''
- let l:template = ' --template=' . ale#Escape('{file}:{line}:{column}: {severity}:{inconclusive:inconclusive:} {message} [{id}]\\n{code}')
-
- return '%e -q --language=c++'
- \ . l:template
- \ . ale#Pad(l:compile_commands_option)
- \ . ale#Pad(ale#Var(a:buffer, 'cpp_cppcheck_options'))
- \ . l:buffer_path_include
- \ . ' %t'
-endfunction
-
-call ale#linter#Define('cpp', {
-\ 'name': 'cppcheck',
-\ 'output_stream': 'both',
-\ 'executable': {b -> ale#Var(b, 'cpp_cppcheck_executable')},
-\ 'cwd': function('ale#handlers#cppcheck#GetCwd'),
-\ 'command': function('ale_linters#cpp#cppcheck#GetCommand'),
-\ 'callback': 'ale#handlers#cppcheck#HandleCppCheckFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cpp/cpplint.vim b/dot_vim/plugged/ale/ale_linters/cpp/cpplint.vim
deleted file mode 100644
index f1f6ce7..0000000
--- a/dot_vim/plugged/ale/ale_linters/cpp/cpplint.vim
+++ /dev/null
@@ -1,20 +0,0 @@
-" Author: Dawid Kurek https://github.com/dawikur
-" Description: cpplint for cpp files
-
-call ale#Set('cpp_cpplint_executable', 'cpplint')
-call ale#Set('cpp_cpplint_options', '')
-
-function! ale_linters#cpp#cpplint#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'cpp_cpplint_options')
-
- return '%e' . ale#Pad(l:options) . ' %s'
-endfunction
-
-call ale#linter#Define('cpp', {
-\ 'name': 'cpplint',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'cpp_cpplint_executable')},
-\ 'command': function('ale_linters#cpp#cpplint#GetCommand'),
-\ 'callback': 'ale#handlers#cpplint#HandleCppLintFormat',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cpp/cquery.vim b/dot_vim/plugged/ale/ale_linters/cpp/cquery.vim
deleted file mode 100644
index 2971cdc..0000000
--- a/dot_vim/plugged/ale/ale_linters/cpp/cquery.vim
+++ /dev/null
@@ -1,30 +0,0 @@
-" Author: Ben Falconer
-" Description: A language server for C++
-
-call ale#Set('cpp_cquery_executable', 'cquery')
-call ale#Set('cpp_cquery_cache_directory', expand('~/.cache/cquery'))
-
-function! ale_linters#cpp#cquery#GetProjectRoot(buffer) abort
- " Try to find cquery configuration files first.
- let l:config = ale#path#FindNearestFile(a:buffer, '.cquery')
-
- if !empty(l:config)
- return fnamemodify(l:config, ':h')
- endif
-
- " Fall back on default project root detection.
- return ale#c#FindProjectRoot(a:buffer)
-endfunction
-
-function! ale_linters#cpp#cquery#GetInitializationOptions(buffer) abort
- return {'cacheDirectory': ale#Var(a:buffer, 'cpp_cquery_cache_directory')}
-endfunction
-
-call ale#linter#Define('cpp', {
-\ 'name': 'cquery',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'cpp_cquery_executable')},
-\ 'command': '%e',
-\ 'project_root': function('ale_linters#cpp#cquery#GetProjectRoot'),
-\ 'initialization_options': function('ale_linters#cpp#cquery#GetInitializationOptions'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cpp/cspell.vim b/dot_vim/plugged/ale/ale_linters/cpp/cspell.vim
deleted file mode 100644
index ace4c3b..0000000
--- a/dot_vim/plugged/ale/ale_linters/cpp/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for C++ files.
-
-call ale#handlers#cspell#DefineLinter('cpp')
diff --git a/dot_vim/plugged/ale/ale_linters/cpp/flawfinder.vim b/dot_vim/plugged/ale/ale_linters/cpp/flawfinder.vim
deleted file mode 100644
index 5bfdea2..0000000
--- a/dot_vim/plugged/ale/ale_linters/cpp/flawfinder.vim
+++ /dev/null
@@ -1,25 +0,0 @@
-" Author: Christian Gibbons
-" Description: flawfinder linter for c++ files
-
-call ale#Set('cpp_flawfinder_executable', 'flawfinder')
-call ale#Set('cpp_flawfinder_options', '')
-call ale#Set('cpp_flawfinder_minlevel', 1)
-call ale#Set('c_flawfinder_error_severity', 6)
-
-function! ale_linters#cpp#flawfinder#GetCommand(buffer) abort
- " Set the minimum vulnerability level for flawfinder to bother with
- let l:minlevel = ' --minlevel=' . ale#Var(a:buffer, 'cpp_flawfinder_minlevel')
-
- return '%e -CDQS'
- \ . ale#Var(a:buffer, 'cpp_flawfinder_options')
- \ . l:minlevel
- \ . ' %t'
-endfunction
-
-call ale#linter#Define('cpp', {
-\ 'name': 'flawfinder',
-\ 'output_stream': 'stdout',
-\ 'executable': {b -> ale#Var(b, 'cpp_flawfinder_executable')},
-\ 'command': function('ale_linters#cpp#flawfinder#GetCommand'),
-\ 'callback': 'ale#handlers#flawfinder#HandleFlawfinderFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/crystal/ameba.vim b/dot_vim/plugged/ale/ale_linters/crystal/ameba.vim
deleted file mode 100644
index 5dfc7f4..0000000
--- a/dot_vim/plugged/ale/ale_linters/crystal/ameba.vim
+++ /dev/null
@@ -1,57 +0,0 @@
-" Author: Harrison Bachrach - https://github.com/HarrisonB
-" Description: Ameba, a linter for crystal files
-
-call ale#Set('crystal_ameba_executable', 'bin/ameba')
-
-function! ale_linters#crystal#ameba#GetCommand(buffer) abort
- let l:executable = ale#Var(a:buffer, 'crystal_ameba_executable')
-
- return ale#Escape(l:executable)
- \ . ' --format json '
- \ . ale#Escape(expand('#' . a:buffer . ':p'))
-endfunction
-
-" Handle output from ameba
-function! ale_linters#crystal#ameba#HandleAmebaOutput(buffer, lines) abort
- if len(a:lines) == 0
- return []
- endif
-
- let l:errors = ale#util#FuzzyJSONDecode(a:lines[0], {})
-
- if !has_key(l:errors, 'summary')
- \|| l:errors['summary']['issues_count'] == 0
- \|| empty(l:errors['sources'])
- return []
- endif
-
- let l:output = []
-
- for l:error in l:errors['sources'][0]['issues']
- let l:start_col = str2nr(l:error['location']['column'])
- let l:end_col = str2nr(l:error['end_location']['column'])
-
- if !l:end_col
- let l:end_col = l:start_col + 1
- endif
-
- call add(l:output, {
- \ 'lnum': str2nr(l:error['location']['line']),
- \ 'col': l:start_col,
- \ 'end_col': l:end_col,
- \ 'code': l:error['rule_name'],
- \ 'text': l:error['message'],
- \ 'type': 'W',
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('crystal', {
-\ 'name': 'ameba',
-\ 'executable': {b -> ale#Var(b, 'crystal_ameba_executable')},
-\ 'command': function('ale_linters#crystal#ameba#GetCommand'),
-\ 'callback': 'ale_linters#crystal#ameba#HandleAmebaOutput',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/crystal/crystal.vim b/dot_vim/plugged/ale/ale_linters/crystal/crystal.vim
deleted file mode 100644
index 8a905b1..0000000
--- a/dot_vim/plugged/ale/ale_linters/crystal/crystal.vim
+++ /dev/null
@@ -1,35 +0,0 @@
-" Author: Jordan Andree , David Alexander
-" Description: This file adds support for checking Crystal with crystal build
-
-function! ale_linters#crystal#crystal#Handle(buffer, lines) abort
- let l:output = []
-
- for l:error in ale#util#FuzzyJSONDecode(a:lines, [])
- if !has_key(l:error, 'file')
- continue
- endif
-
- call add(l:output, {
- \ 'lnum': l:error.line + 0,
- \ 'col': l:error.column + 0,
- \ 'text': l:error.message,
- \})
- endfor
-
- return l:output
-endfunction
-
-function! ale_linters#crystal#crystal#GetCommand(buffer) abort
- return 'crystal build -f json --no-codegen --no-color -o '
- \ . ale#Escape(g:ale#util#nul_file)
- \ . ' %s'
-endfunction
-
-call ale#linter#Define('crystal', {
-\ 'name': 'crystal',
-\ 'executable': 'crystal',
-\ 'output_stream': 'both',
-\ 'lint_file': 1,
-\ 'command': function('ale_linters#crystal#crystal#GetCommand'),
-\ 'callback': 'ale_linters#crystal#crystal#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cs/csc.vim b/dot_vim/plugged/ale/ale_linters/cs/csc.vim
deleted file mode 100644
index 5ee3de2..0000000
--- a/dot_vim/plugged/ale/ale_linters/cs/csc.vim
+++ /dev/null
@@ -1,90 +0,0 @@
-call ale#Set('cs_csc_options', '')
-call ale#Set('cs_csc_source', '')
-call ale#Set('cs_csc_assembly_path', [])
-call ale#Set('cs_csc_assemblies', [])
-
-function! ale_linters#cs#csc#GetCwd(buffer) abort
- let l:cwd = ale#Var(a:buffer, 'cs_csc_source')
-
- return !empty(l:cwd) ? l:cwd : expand('#' . a:buffer . ':p:h')
-endfunction
-
-function! ale_linters#cs#csc#GetCommand(buffer) abort
- " Pass assembly paths via the -lib: parameter.
- let l:path_list = ale#Var(a:buffer, 'cs_csc_assembly_path')
-
- let l:lib_option = !empty(l:path_list)
- \ ? '/lib:' . join(map(copy(l:path_list), 'ale#Escape(v:val)'), ',')
- \ : ''
-
- " Pass paths to DLL files via the -r: parameter.
- let l:assembly_list = ale#Var(a:buffer, 'cs_csc_assemblies')
-
- let l:r_option = !empty(l:assembly_list)
- \ ? '/r:' . join(map(copy(l:assembly_list), 'ale#Escape(v:val)'), ',')
- \ : ''
-
- " register temporary module target file with ale
- " register temporary module target file with ALE.
- let l:out = ale#command#CreateFile(a:buffer)
-
- " The code is compiled as a module and the output is redirected to a
- " temporary file.
- return 'csc /unsafe'
- \ . ale#Pad(ale#Var(a:buffer, 'cs_csc_options'))
- \ . ale#Pad(l:lib_option)
- \ . ale#Pad(l:r_option)
- \ . ' /out:' . l:out
- \ . ' /t:module'
- \ . ' /recurse:' . ale#Escape('*.cs')
-endfunction
-
-function! ale_linters#cs#csc#Handle(buffer, lines) abort
- " Look for lines like the following.
- "
- " Tests.cs(12,29): error CSXXXX: ; expected
- "
- " NOTE: pattern also captures file name as linter compiles all
- " files within the source tree rooted at the specified source
- " path and not just the file loaded in the buffer
- let l:patterns = [
- \ '^\v(.+\.cs)\((\d+),(\d+)\)\:\s+([^ ]+)\s+([cC][sS][^ ]+):\s(.+)$',
- \ '^\v([^ ]+)\s+([Cc][sS][^ ]+):\s+(.+)$',
- \]
- let l:output = []
- let l:dir = ale_linters#cs#csc#GetCwd(a:buffer)
-
- for l:match in ale#util#GetMatches(a:lines, l:patterns)
- if len(l:match) > 6 && strlen(l:match[5]) > 2 && l:match[5][:1] is? 'CS'
- call add(l:output, {
- \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]),
- \ 'lnum': l:match[2] + 0,
- \ 'col': l:match[3] + 0,
- \ 'type': l:match[4] is# 'error' ? 'E' : 'W',
- \ 'code': l:match[5],
- \ 'text': l:match[6] ,
- \})
- elseif strlen(l:match[2]) > 2 && l:match[2][:1] is? 'CS'
- call add(l:output, {
- \ 'filename':'',
- \ 'lnum': -1,
- \ 'col': -1,
- \ 'type': l:match[1] is# 'error' ? 'E' : 'W',
- \ 'code': l:match[2],
- \ 'text': l:match[3],
- \})
- endif
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('cs',{
-\ 'name': 'csc',
-\ 'output_stream': 'stdout',
-\ 'executable': 'csc',
-\ 'cwd': function('ale_linters#cs#csc#GetCwd'),
-\ 'command': function('ale_linters#cs#csc#GetCommand'),
-\ 'callback': 'ale_linters#cs#csc#Handle',
-\ 'lint_file': 1
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cs/cspell.vim b/dot_vim/plugged/ale/ale_linters/cs/cspell.vim
deleted file mode 100644
index c62dd11..0000000
--- a/dot_vim/plugged/ale/ale_linters/cs/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for C# files.
-
-call ale#handlers#cspell#DefineLinter('cs')
diff --git a/dot_vim/plugged/ale/ale_linters/cs/mcs.vim b/dot_vim/plugged/ale/ale_linters/cs/mcs.vim
deleted file mode 100644
index 1b373e7..0000000
--- a/dot_vim/plugged/ale/ale_linters/cs/mcs.vim
+++ /dev/null
@@ -1,37 +0,0 @@
-let g:ale_cs_mcs_options = get(g:, 'ale_cs_mcs_options', '')
-
-function! ale_linters#cs#mcs#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'cs_mcs_options')
-
- return 'mcs -unsafe --parse'
- \ . (!empty(l:options) ? ' ' . l:options : '')
- \ . ' %t'
-endfunction
-
-function! ale_linters#cs#mcs#Handle(buffer, lines) abort
- " Look for lines like the following.
- "
- " Tests.cs(12,29): error CSXXXX: ; expected
- let l:pattern = '^\v(.+\.cs)\((\d+),(\d+)\)\: ([^ ]+) ([^ ]+): (.+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': l:match[2] + 0,
- \ 'col': l:match[3] + 0,
- \ 'type': l:match[4] is# 'error' ? 'E' : 'W',
- \ 'code': l:match[5],
- \ 'text': l:match[6],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('cs',{
-\ 'name': 'mcs',
-\ 'output_stream': 'stderr',
-\ 'executable': 'mcs',
-\ 'command': function('ale_linters#cs#mcs#GetCommand'),
-\ 'callback': 'ale_linters#cs#mcs#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cs/mcsc.vim b/dot_vim/plugged/ale/ale_linters/cs/mcsc.vim
deleted file mode 100644
index 2dd4666..0000000
--- a/dot_vim/plugged/ale/ale_linters/cs/mcsc.vim
+++ /dev/null
@@ -1,91 +0,0 @@
-call ale#Set('cs_mcsc_options', '')
-call ale#Set('cs_mcsc_source', '')
-call ale#Set('cs_mcsc_assembly_path', [])
-call ale#Set('cs_mcsc_assemblies', [])
-
-function! ale_linters#cs#mcsc#GetCwd(buffer) abort
- let l:cwd = ale#Var(a:buffer, 'cs_mcsc_source')
-
- return !empty(l:cwd) ? l:cwd : expand('#' . a:buffer . ':p:h')
-endfunction
-
-function! ale_linters#cs#mcsc#GetCommand(buffer) abort
- " Pass assembly paths via the -lib: parameter.
- let l:path_list = ale#Var(a:buffer, 'cs_mcsc_assembly_path')
-
- let l:lib_option = !empty(l:path_list)
- \ ? '-lib:' . join(map(copy(l:path_list), 'ale#Escape(v:val)'), ',')
- \ : ''
-
- " Pass paths to DLL files via the -r: parameter.
- let l:assembly_list = ale#Var(a:buffer, 'cs_mcsc_assemblies')
-
- let l:r_option = !empty(l:assembly_list)
- \ ? '-r:' . join(map(copy(l:assembly_list), 'ale#Escape(v:val)'), ',')
- \ : ''
-
- " register temporary module target file with ale
- " register temporary module target file with ALE.
- let l:out = ale#command#CreateFile(a:buffer)
-
- " The code is compiled as a module and the output is redirected to a
- " temporary file.
- return 'mcs -unsafe'
- \ . ale#Pad(ale#Var(a:buffer, 'cs_mcsc_options'))
- \ . ale#Pad(l:lib_option)
- \ . ale#Pad(l:r_option)
- \ . ' -out:' . l:out
- \ . ' -t:module'
- \ . ' -recurse:' . ale#Escape('*.cs')
-endfunction
-
-function! ale_linters#cs#mcsc#Handle(buffer, lines) abort
- " Look for lines like the following.
- "
- " Tests.cs(12,29): error CSXXXX: ; expected
- "
- " NOTE: pattern also captures file name as linter compiles all
- " files within the source tree rooted at the specified source
- " path and not just the file loaded in the buffer
- let l:patterns = [
- \ '^\v(.+\.cs)\((\d+),(\d+)\)\:\s+([^ ]+)\s+([cC][sS][^ ]+):\s(.+)$',
- \ '^\v([^ ]+)\s+([Cc][sS][^ ]+):\s+(.+)$',
- \]
- let l:output = []
-
- let l:dir = ale_linters#cs#mcsc#GetCwd(a:buffer)
-
- for l:match in ale#util#GetMatches(a:lines, l:patterns)
- if len(l:match) > 6 && strlen(l:match[5]) > 2 && l:match[5][:1] is? 'CS'
- call add(l:output, {
- \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]),
- \ 'lnum': l:match[2] + 0,
- \ 'col': l:match[3] + 0,
- \ 'type': l:match[4] is# 'error' ? 'E' : 'W',
- \ 'code': l:match[5],
- \ 'text': l:match[6] ,
- \})
- elseif strlen(l:match[2]) > 2 && l:match[2][:1] is? 'CS'
- call add(l:output, {
- \ 'filename':'',
- \ 'lnum': -1,
- \ 'col': -1,
- \ 'type': l:match[1] is# 'error' ? 'E' : 'W',
- \ 'code': l:match[2],
- \ 'text': l:match[3],
- \})
- endif
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('cs',{
-\ 'name': 'mcsc',
-\ 'output_stream': 'stderr',
-\ 'executable': 'mcs',
-\ 'cwd': function('ale_linters#cs#mcsc#GetCwd'),
-\ 'command': function('ale_linters#cs#mcsc#GetCommand'),
-\ 'callback': 'ale_linters#cs#mcsc#Handle',
-\ 'lint_file': 1
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/css/cspell.vim b/dot_vim/plugged/ale/ale_linters/css/cspell.vim
deleted file mode 100644
index d42375b..0000000
--- a/dot_vim/plugged/ale/ale_linters/css/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for CSS files.
-
-call ale#handlers#cspell#DefineLinter('css')
diff --git a/dot_vim/plugged/ale/ale_linters/css/csslint.vim b/dot_vim/plugged/ale/ale_linters/css/csslint.vim
deleted file mode 100644
index 50c21ce..0000000
--- a/dot_vim/plugged/ale/ale_linters/css/csslint.vim
+++ /dev/null
@@ -1,18 +0,0 @@
-" Author: w0rp
-" Description: This file adds support for checking CSS code with csslint.
-
-function! ale_linters#css#csslint#GetCommand(buffer) abort
- let l:csslintrc = ale#path#FindNearestFile(a:buffer, '.csslintrc')
- let l:config_option = !empty(l:csslintrc)
- \ ? '--config=' . ale#Escape(l:csslintrc)
- \ : ''
-
- return 'csslint --format=compact ' . l:config_option . ' %t'
-endfunction
-
-call ale#linter#Define('css', {
-\ 'name': 'csslint',
-\ 'executable': 'csslint',
-\ 'command': function('ale_linters#css#csslint#GetCommand'),
-\ 'callback': 'ale#handlers#css#HandleCSSLintFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/css/fecs.vim b/dot_vim/plugged/ale/ale_linters/css/fecs.vim
deleted file mode 100644
index 511847c..0000000
--- a/dot_vim/plugged/ale/ale_linters/css/fecs.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: harttle
-" Description: fecs for CSS files
-
-call ale#linter#Define('css', {
-\ 'name': 'fecs',
-\ 'executable': function('ale#handlers#fecs#GetExecutable'),
-\ 'command': function('ale#handlers#fecs#GetCommand'),
-\ 'callback': 'ale#handlers#fecs#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/css/stylelint.vim b/dot_vim/plugged/ale/ale_linters/css/stylelint.vim
deleted file mode 100644
index e508f39..0000000
--- a/dot_vim/plugged/ale/ale_linters/css/stylelint.vim
+++ /dev/null
@@ -1,19 +0,0 @@
-" Author: diartyz
-
-call ale#Set('css_stylelint_executable', 'stylelint')
-call ale#Set('css_stylelint_options', '')
-call ale#Set('css_stylelint_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#css#stylelint#GetCommand(buffer) abort
- return '%e ' . ale#Pad(ale#Var(a:buffer, 'css_stylelint_options'))
- \ . ' --stdin-filename %s'
-endfunction
-
-call ale#linter#Define('css', {
-\ 'name': 'stylelint',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'css_stylelint', [
-\ 'node_modules/.bin/stylelint',
-\ ])},
-\ 'command': function('ale_linters#css#stylelint#GetCommand'),
-\ 'callback': 'ale#handlers#css#HandleStyleLintFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/css/vscodecss.vim b/dot_vim/plugged/ale/ale_linters/css/vscodecss.vim
deleted file mode 100644
index 2d59adf..0000000
--- a/dot_vim/plugged/ale/ale_linters/css/vscodecss.vim
+++ /dev/null
@@ -1,16 +0,0 @@
-" Author: Dalius Dobravolskas
-" Description: VSCode css language server
-
-function! ale_linters#css#vscodecss#GetProjectRoot(buffer) abort
- let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git')
-
- return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : ''
-endfunction
-
-call ale#linter#Define('css', {
-\ 'name': 'vscodecss',
-\ 'lsp': 'stdio',
-\ 'executable': 'vscode-css-language-server',
-\ 'command': '%e --stdio',
-\ 'project_root': function('ale_linters#css#vscodecss#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cucumber/cucumber.vim b/dot_vim/plugged/ale/ale_linters/cucumber/cucumber.vim
deleted file mode 100644
index 0cfd815..0000000
--- a/dot_vim/plugged/ale/ale_linters/cucumber/cucumber.vim
+++ /dev/null
@@ -1,46 +0,0 @@
-" Author: Eddie Lebow https://github.com/elebow
-" Description: Cucumber, a BDD test tool
-
-function! ale_linters#cucumber#cucumber#GetCommand(buffer) abort
- let l:features_dir = ale#path#FindNearestDirectory(a:buffer, 'features')
-
- if !empty(l:features_dir)
- let l:features_arg = '-r ' . ale#Escape(l:features_dir)
- else
- let l:features_arg = ''
- endif
-
- return 'cucumber --dry-run --quiet --strict --format=json '
- \ . l:features_arg . ' %t'
-endfunction
-
-function! ale_linters#cucumber#cucumber#Handle(buffer, lines) abort
- try
- let l:json = ale#util#FuzzyJSONDecode(a:lines, {})[0]
- catch
- return []
- endtry
-
- let l:output = []
-
- for l:element in get(l:json, 'elements', [])
- for l:step in l:element['steps']
- if l:step['result']['status'] is# 'undefined'
- call add(l:output, {
- \ 'lnum': l:step['line'],
- \ 'code': 'E',
- \ 'text': 'Undefined step'
- \})
- endif
- endfor
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('cucumber', {
-\ 'name': 'cucumber',
-\ 'executable': 'cucumber',
-\ 'command': function('ale_linters#cucumber#cucumber#GetCommand'),
-\ 'callback': 'ale_linters#cucumber#cucumber#Handle'
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cuda/clangd.vim b/dot_vim/plugged/ale/ale_linters/cuda/clangd.vim
deleted file mode 100644
index bfda821..0000000
--- a/dot_vim/plugged/ale/ale_linters/cuda/clangd.vim
+++ /dev/null
@@ -1,23 +0,0 @@
-" Author: Tommy Chiang
-" Description: Clangd language server for CUDA (modified from Andrey
-" Melentyev's implementation for C++)
-
-call ale#Set('cuda_clangd_executable', 'clangd')
-call ale#Set('cuda_clangd_options', '')
-call ale#Set('c_build_dir', '')
-
-function! ale_linters#cuda#clangd#GetCommand(buffer) abort
- let l:build_dir = ale#c#GetBuildDirectory(a:buffer)
-
- return '%e'
- \ . ale#Pad(ale#Var(a:buffer, 'cuda_clangd_options'))
- \ . (!empty(l:build_dir) ? ' -compile-commands-dir=' . ale#Escape(l:build_dir) : '')
-endfunction
-
-call ale#linter#Define('cuda', {
-\ 'name': 'clangd',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'cuda_clangd_executable')},
-\ 'command': function('ale_linters#cuda#clangd#GetCommand'),
-\ 'project_root': function('ale#c#FindProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cuda/nvcc.vim b/dot_vim/plugged/ale/ale_linters/cuda/nvcc.vim
deleted file mode 100644
index 2734f6e..0000000
--- a/dot_vim/plugged/ale/ale_linters/cuda/nvcc.vim
+++ /dev/null
@@ -1,46 +0,0 @@
-" Author: blahgeek
-" Description: NVCC linter for cuda files
-
-call ale#Set('cuda_nvcc_executable', 'nvcc')
-call ale#Set('cuda_nvcc_options', '-std=c++11')
-
-function! ale_linters#cuda#nvcc#GetCommand(buffer) abort
- return '%e -cuda'
- \ . ale#Pad(ale#c#IncludeOptions(ale#c#FindLocalHeaderPaths(a:buffer)))
- \ . ale#Pad(ale#Var(a:buffer, 'cuda_nvcc_options'))
- \ . ' %s -o ' . g:ale#util#nul_file
-endfunction
-
-function! ale_linters#cuda#nvcc#HandleNVCCFormat(buffer, lines) abort
- " Look for lines like the following.
- "
- " test.cu(8): error: argument of type "void *" is incompatible with parameter of type "int *"
- let l:pattern = '\v^([^:\(\)]+):?\(?(\d+)\)?:(\d+)?:?\s*\w*\s*(error|warning): (.+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:item = {
- \ 'lnum': str2nr(l:match[2]),
- \ 'type': l:match[4] =~# 'error' ? 'E' : 'W',
- \ 'text': l:match[5],
- \ 'filename': fnamemodify(l:match[1], ':p'),
- \}
-
- if !empty(l:match[3])
- let l:item.col = str2nr(l:match[3])
- endif
-
- call add(l:output, l:item)
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('cuda', {
-\ 'name': 'nvcc',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'cuda_nvcc_executable')},
-\ 'command': function('ale_linters#cuda#nvcc#GetCommand'),
-\ 'callback': 'ale_linters#cuda#nvcc#HandleNVCCFormat',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/cypher/cypher_lint.vim b/dot_vim/plugged/ale/ale_linters/cypher/cypher_lint.vim
deleted file mode 100644
index 408ddd6..0000000
--- a/dot_vim/plugged/ale/ale_linters/cypher/cypher_lint.vim
+++ /dev/null
@@ -1,26 +0,0 @@
-" Author: Francisco Lopes
-" Description: Linting for Neo4j's Cypher
-
-function! ale_linters#cypher#cypher_lint#Handle(buffer, lines) abort
- let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+): (.*)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': l:match[2] + 0,
- \ 'col': l:match[3] + 0,
- \ 'text': l:match[4],
- \ 'type': 'E',
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('cypher', {
-\ 'name': 'cypher_lint',
-\ 'executable': 'cypher-lint',
-\ 'command': 'cypher-lint',
-\ 'output_stream': 'stderr',
-\ 'callback': 'ale_linters#cypher#cypher_lint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/d/dls.vim b/dot_vim/plugged/ale/ale_linters/d/dls.vim
deleted file mode 100644
index 78d1c15..0000000
--- a/dot_vim/plugged/ale/ale_linters/d/dls.vim
+++ /dev/null
@@ -1,22 +0,0 @@
-" Author: aurieh
-" Description: A Language Server implementation for D
-
-call ale#Set('d_dls_executable', 'dls')
-
-function! ale_linters#d#dls#GetExecutable(buffer) abort
- return ale#Var(a:buffer, 'd_dls_executable')
-endfunction
-
-function! ale_linters#d#dls#FindProjectRoot(buffer) abort
- " Note: this will return . if dub config is empty
- " dls can run outside DUB projects just fine
- return fnamemodify(ale#d#FindDUBConfig(a:buffer), ':h')
-endfunction
-
-call ale#linter#Define('d', {
-\ 'name': 'dls',
-\ 'lsp': 'stdio',
-\ 'executable': function('ale_linters#d#dls#GetExecutable'),
-\ 'command': function('ale_linters#d#dls#GetExecutable'),
-\ 'project_root': function('ale_linters#d#dls#FindProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/d/dmd.vim b/dot_vim/plugged/ale/ale_linters/d/dmd.vim
deleted file mode 100644
index f38e812..0000000
--- a/dot_vim/plugged/ale/ale_linters/d/dmd.vim
+++ /dev/null
@@ -1,116 +0,0 @@
-" Author: w0rp
-" Description: "dmd for D files"
-
-function! s:GetDUBCommand(buffer) abort
- " If we can't run dub, then skip this command.
- if executable('dub')
- " Returning an empty string skips to the DMD command.
- let l:config = ale#d#FindDUBConfig(a:buffer)
-
- " To support older dub versions, we just change the directory to the
- " directory where we found the dub config, and then run `dub describe`
- " from that directory.
- if !empty(l:config)
- return [fnamemodify(l:config, ':h'), 'dub describe --data-list
- \ --data=import-paths
- \ --data=string-import-paths
- \ --data=versions
- \ --data=debug-versions
- \']
- endif
- endif
-
- return ['', '']
-endfunction
-
-function! ale_linters#d#dmd#RunDUBCommand(buffer) abort
- let [l:cwd, l:command] = s:GetDUBCommand(a:buffer)
-
- if empty(l:command)
- " If we can't run DUB, just run DMD.
- return ale_linters#d#dmd#DMDCommand(a:buffer, [], {})
- endif
-
- return ale#command#Run(
- \ a:buffer,
- \ l:command,
- \ function('ale_linters#d#dmd#DMDCommand'),
- \ {'cwd': l:cwd},
- \)
-endfunction
-
-function! ale_linters#d#dmd#DMDCommand(buffer, dub_output, meta) abort
- let l:import_list = []
- let l:str_import_list = []
- let l:versions_list = []
- let l:deb_versions_list = []
- let l:list_ind = 1
- let l:seen_line = 0
-
- " Build a list of options generated from DUB, if available.
- " DUB output each path or version on a single line.
- " Each list is separated by a blank line.
- " Empty list are represented by a blank line (followed and/or
- " preceded by a separation blank line)
- for l:line in a:dub_output
- " line still has end of line char on windows
- let l:line = substitute(l:line, '[\r\n]*$', '', '')
-
- if !empty(l:line)
- if l:list_ind == 1
- call add(l:import_list, '-I' . ale#Escape(l:line))
- elseif l:list_ind == 2
- call add(l:str_import_list, '-J' . ale#Escape(l:line))
- elseif l:list_ind == 3
- call add(l:versions_list, '-version=' . ale#Escape(l:line))
- elseif l:list_ind == 4
- call add(l:deb_versions_list, '-debug=' . ale#Escape(l:line))
- endif
-
- let l:seen_line = 1
- elseif !l:seen_line
- " if list is empty must skip one empty line
- let l:seen_line = 1
- else
- let l:seen_line = 0
- let l:list_ind += 1
- endif
- endfor
-
- return 'dmd ' . join(l:import_list) . ' ' .
- \ join(l:str_import_list) . ' ' .
- \ join(l:versions_list) . ' ' .
- \ join(l:deb_versions_list) . ' -o- -wi -vcolumns -c %t'
-endfunction
-
-function! ale_linters#d#dmd#Handle(buffer, lines) abort
- " Matches patterns lines like the following:
- " /tmp/tmp.qclsa7qLP7/file.d(1): Error: function declaration without return type. (Note that constructors are always named 'this')
- " /tmp/tmp.G1L5xIizvB.d(8,8): Error: module weak_reference is in file 'dstruct/weak_reference.d' which cannot be read
- let l:pattern = '\v^(\f+)\((\d+)(,(\d+))?\): (\w+): (.+)$'
- let l:output = []
- let l:dir = expand('#' . a:buffer . ':p:h')
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- " If dmd was invoked with relative path, match[1] is relative, otherwise it is absolute.
- " As we invoke dmd with the buffer path (in /tmp), this will generally be absolute already
- let l:fname = ale#path#GetAbsPath(l:dir, l:match[1])
- call add(l:output, {
- \ 'filename': l:fname,
- \ 'lnum': l:match[2],
- \ 'col': l:match[4],
- \ 'type': l:match[5] is# 'Warning' || l:match[5] is# 'Deprecation' ? 'W' : 'E',
- \ 'text': l:match[6],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('d', {
-\ 'name': 'dmd',
-\ 'executable': 'dmd',
-\ 'command': function('ale_linters#d#dmd#RunDUBCommand'),
-\ 'callback': 'ale_linters#d#dmd#Handle',
-\ 'output_stream': 'stderr',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/dafny/dafny.vim b/dot_vim/plugged/ale/ale_linters/dafny/dafny.vim
deleted file mode 100644
index 2a9f761..0000000
--- a/dot_vim/plugged/ale/ale_linters/dafny/dafny.vim
+++ /dev/null
@@ -1,41 +0,0 @@
-" Author: Taylor Blau
-
-function! ale_linters#dafny#dafny#Handle(buffer, lines) abort
- let l:pattern = '\v(.*)\((\d+),(\d+)\): (.*): (.*)'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'filename': l:match[1],
- \ 'col': l:match[3] + 0,
- \ 'lnum': l:match[2] + 0,
- \ 'text': l:match[5],
- \ 'type': l:match[4] =~# '^Error' ? 'E' : 'W'
- \ })
- endfor
-
- for l:match in ale#util#GetMatches(a:lines, '\v(.*)\((\d+),(\d+)\): (Verification of .{-} timed out after \d+ seconds)')
- call add(l:output, {
- \ 'filename': l:match[1],
- \ 'col': l:match[3] + 0,
- \ 'lnum': l:match[2] + 0,
- \ 'text': l:match[4],
- \ 'type': 'E',
- \ })
- endfor
-
- return l:output
-endfunction
-
-function! ale_linters#dafny#dafny#GetCommand(buffer) abort
- return printf('dafny %%s /compile:0 /timeLimit:%d', ale#Var(a:buffer, 'dafny_dafny_timelimit'))
-endfunction
-
-call ale#Set('dafny_dafny_timelimit', 10)
-call ale#linter#Define('dafny', {
-\ 'name': 'dafny',
-\ 'executable': 'dafny',
-\ 'command': function('ale_linters#dafny#dafny#GetCommand'),
-\ 'callback': 'ale_linters#dafny#dafny#Handle',
-\ 'lint_file': 1,
-\ })
diff --git a/dot_vim/plugged/ale/ale_linters/dart/analysis_server.vim b/dot_vim/plugged/ale/ale_linters/dart/analysis_server.vim
deleted file mode 100644
index a6870da..0000000
--- a/dot_vim/plugged/ale/ale_linters/dart/analysis_server.vim
+++ /dev/null
@@ -1,29 +0,0 @@
-" Author: Nelson Yeung
-" Description: Check Dart files with dart analysis server LSP
-
-call ale#Set('dart_analysis_server_executable', 'dart')
-
-function! ale_linters#dart#analysis_server#GetProjectRoot(buffer) abort
- " Note: pub only looks for pubspec.yaml, there's no point in adding
- " support for pubspec.yml
- let l:pubspec = ale#path#FindNearestFile(a:buffer, 'pubspec.yaml')
-
- return !empty(l:pubspec) ? fnamemodify(l:pubspec, ':h:h') : '.'
-endfunction
-
-function! ale_linters#dart#analysis_server#GetCommand(buffer) abort
- let l:executable = ale#Var(a:buffer, 'dart_analysis_server_executable')
- let l:dart = resolve(exepath(l:executable))
-
- return '%e '
- \ . fnamemodify(l:dart, ':h') . '/snapshots/analysis_server.dart.snapshot'
- \ . ' --lsp'
-endfunction
-
-call ale#linter#Define('dart', {
-\ 'name': 'analysis_server',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'dart_analysis_server_executable')},
-\ 'command': function('ale_linters#dart#analysis_server#GetCommand'),
-\ 'project_root': function('ale_linters#dart#analysis_server#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/dart/dart_analyze.vim b/dot_vim/plugged/ale/ale_linters/dart/dart_analyze.vim
deleted file mode 100644
index 7d67c31..0000000
--- a/dot_vim/plugged/ale/ale_linters/dart/dart_analyze.vim
+++ /dev/null
@@ -1,29 +0,0 @@
-" Author: ghsang
-" Description: Check Dart files with dart analyze
-
-call ale#Set('dart_analyze_executable', 'dart')
-
-function! ale_linters#dart#dart_analyze#Handle(buffer, lines) abort
- let l:pattern = '\v([a-z]+) - (.+):(\d+):(\d+) - (.+) - (.+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let [l:type, l:filename, l:lnum, l:col, l:message, l:code] = l:match[1:6]
- call add(l:output, {
- \ 'type': l:type is# 'error' ? 'E' : l:type is# 'info' ? 'I' : 'W',
- \ 'text': l:code . ': ' . l:message,
- \ 'lnum': str2nr(l:lnum),
- \ 'col': str2nr(l:col),
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('dart', {
-\ 'name': 'dart_analyze',
-\ 'executable': {b -> ale#Var(b, 'dart_analyze_executable')},
-\ 'command': '%e analyze --fatal-infos %s',
-\ 'callback': 'ale_linters#dart#dart_analyze#Handle',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/dart/language_server.vim b/dot_vim/plugged/ale/ale_linters/dart/language_server.vim
deleted file mode 100644
index d0e639c..0000000
--- a/dot_vim/plugged/ale/ale_linters/dart/language_server.vim
+++ /dev/null
@@ -1,20 +0,0 @@
-" Author: aurieh
-" Description: A language server for dart
-
-call ale#Set('dart_language_server_executable', 'dart_language_server')
-
-function! ale_linters#dart#language_server#GetProjectRoot(buffer) abort
- " Note: pub only looks for pubspec.yaml, there's no point in adding
- " support for pubspec.yml
- let l:pubspec = ale#path#FindNearestFile(a:buffer, 'pubspec.yaml')
-
- return !empty(l:pubspec) ? fnamemodify(l:pubspec, ':h:h') : ''
-endfunction
-
-call ale#linter#Define('dart', {
-\ 'name': 'language_server',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'dart_language_server_executable')},
-\ 'command': '%e',
-\ 'project_root': function('ale_linters#dart#language_server#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/desktop/desktop_file_validate.vim b/dot_vim/plugged/ale/ale_linters/desktop/desktop_file_validate.vim
deleted file mode 100644
index 5a97d31..0000000
--- a/dot_vim/plugged/ale/ale_linters/desktop/desktop_file_validate.vim
+++ /dev/null
@@ -1,31 +0,0 @@
-call ale#Set('desktop_desktop_file_validate_options', '')
-
-" Example matches for pattern:
-"
-" foo.desktop: warning: key "TerminalOptions" in group ...
-" foo.desktop: error: action "new-private-window" is defined, ...
-let s:pattern = '\v^(.+): ([a-z]+): (.+)$'
-
-function! ale_linters#desktop#desktop_file_validate#Handle(buffer, lines) abort
- " The error format doesn't specify lines, so we can just put all of the
- " errors on line 1.
- return ale#util#MapMatches(a:lines, s:pattern, {match -> {
- \ 'lnum': 1,
- \ 'col': 1,
- \ 'type': match[2] is? 'error' ? 'E' : 'W',
- \ 'text': match[3],
- \}})
-endfunction
-
-call ale#linter#Define('desktop', {
-\ 'name': 'desktop_file_validate',
-\ 'aliases': ['desktop-file-validate'],
-\ 'executable': 'desktop-file-validate',
-\ 'command': {b ->
-\ '%e'
-\ . ale#Pad(ale#Var(b, 'desktop_desktop_file_validate_options'))
-\ . ' %t'
-\ },
-\ 'callback': 'ale_linters#desktop#desktop_file_validate#Handle',
-\ 'output_stream': 'both',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/dockerfile/dockerfile_lint.vim b/dot_vim/plugged/ale/ale_linters/dockerfile/dockerfile_lint.vim
deleted file mode 100644
index 0c0ad53..0000000
--- a/dot_vim/plugged/ale/ale_linters/dockerfile/dockerfile_lint.vim
+++ /dev/null
@@ -1,76 +0,0 @@
-" Author: Alexander Olofsson
-
-call ale#Set('dockerfile_dockerfile_lint_executable', 'dockerfile_lint')
-call ale#Set('dockerfile_dockerfile_lint_options', '')
-
-function! ale_linters#dockerfile#dockerfile_lint#GetType(type) abort
- if a:type is? 'error'
- return 'E'
- elseif a:type is? 'warn'
- return 'W'
- endif
-
- return 'I'
-endfunction
-
-function! ale_linters#dockerfile#dockerfile_lint#Handle(buffer, lines) abort
- try
- let l:data = json_decode(join(a:lines, ''))
- catch
- return []
- endtry
-
- if empty(l:data)
- " Should never happen, but it's better to be on the safe side
- return []
- endif
-
- let l:messages = []
-
- for l:type in ['error', 'warn', 'info']
- for l:object in l:data[l:type]['data']
- let l:line = get(l:object, 'line', -1)
- let l:message = l:object['message']
-
- let l:link = get(l:object, 'reference_url', '')
-
- if type(l:link) == v:t_list
- " Somehow, reference_url is returned as two-part list.
- " Anchor markers in that list are sometimes duplicated.
- " See https://github.com/projectatomic/dockerfile_lint/issues/134
- let l:link = join(l:link, '')
- let l:link = substitute(l:link, '##', '#', '')
- endif
-
- let l:detail = l:message
-
- if get(l:object, 'description', 'None') isnot# 'None'
- let l:detail .= "\n\n" . l:object['description']
- endif
-
- let l:detail .= "\n\n" . l:link
-
- call add(l:messages, {
- \ 'lnum': l:line,
- \ 'text': l:message,
- \ 'type': ale_linters#dockerfile#dockerfile_lint#GetType(l:type),
- \ 'detail': l:detail,
- \})
- endfor
- endfor
-
- return l:messages
-endfunction
-
-function! ale_linters#dockerfile#dockerfile_lint#GetCommand(buffer) abort
- return '%e' . ale#Pad(ale#Var(a:buffer, 'dockerfile_dockerfile_lint_options'))
- \ . ' -p -j -f'
- \ . ' %t'
-endfunction
-
-call ale#linter#Define('dockerfile', {
-\ 'name': 'dockerfile_lint',
-\ 'executable': {b -> ale#Var(b, 'dockerfile_dockerfile_lint_executable')},
-\ 'command': function('ale_linters#dockerfile#dockerfile_lint#GetCommand'),
-\ 'callback': 'ale_linters#dockerfile#dockerfile_lint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/dockerfile/hadolint.vim b/dot_vim/plugged/ale/ale_linters/dockerfile/hadolint.vim
deleted file mode 100644
index 9a6a625..0000000
--- a/dot_vim/plugged/ale/ale_linters/dockerfile/hadolint.vim
+++ /dev/null
@@ -1,123 +0,0 @@
-" Author: hauleth - https://github.com/hauleth
-
-" always, yes, never
-call ale#Set('dockerfile_hadolint_use_docker', 'never')
-call ale#Set('dockerfile_hadolint_docker_image', 'hadolint/hadolint')
-call ale#Set('dockerfile_hadolint_options', '')
-
-function! ale_linters#dockerfile#hadolint#Handle(buffer, lines) abort
- " Matches patterns line the following:
- "
- " -:19 DL3001 warning: Pipe chain should start with a raw value.
- " /dev/stdin:19:3 unexpected thing
- let l:pattern = '\v^%(/dev/stdin|-):(\d+):?(\d+)? ((DL|SC)(\d+) )?((.+)?: )?(.+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:lnum = 0
- let l:colnum = 0
-
- if l:match[1] isnot# ''
- let l:lnum = l:match[1] + 0
- endif
-
- if l:match[2] isnot# ''
- let l:colnum = l:match[2] + 0
- endif
-
- " Shellcheck knows a 'style' severity - pin it to info level as well.
- if l:match[7] is# 'style'
- let l:type = 'I'
- elseif l:match[7] is# 'info'
- let l:type = 'I'
- elseif l:match[7] is# 'warning'
- let l:type = 'W'
- else
- let l:type = 'E'
- endif
-
- let l:text = l:match[8]
- let l:detail = l:match[8]
- let l:domain = 'https://github.com/hadolint/hadolint/wiki/'
- let l:code = ''
- let l:link = ''
-
- if l:match[4] is# 'SC'
- let l:domain = 'https://github.com/koalaman/shellcheck/wiki/'
- endif
-
- if l:match[5] isnot# ''
- let l:code = l:match[4] . l:match[5]
- let l:link = ' ( ' . l:domain . l:code . ' )'
- let l:text = l:code . ': ' . l:detail
- let l:detail = l:code . l:link . "\n\n" . l:detail
- else
- let l:type = 'E'
- let l:detail = 'hadolint could not parse the file because of a syntax error.'
- endif
-
- let l:line_output = {
- \ 'lnum': l:lnum,
- \ 'col': l:colnum,
- \ 'type': l:type,
- \ 'text': l:text,
- \ 'detail': l:detail
- \}
-
- if l:code isnot# ''
- let l:line_output['code'] = l:code
- endif
-
- call add(l:output, l:line_output)
- endfor
-
- return l:output
-endfunction
-
-" This is a little different than the typical 'executable' callback. We want
-" to afford the user the chance to say always use docker, never use docker,
-" and use docker if the hadolint executable is not present on the system.
-"
-" In the case of neither docker nor hadolint executables being present, it
-" really doesn't matter which we return -- either will have the effect of
-" 'nope, can't use this linter!'.
-
-function! ale_linters#dockerfile#hadolint#GetExecutable(buffer) abort
- let l:use_docker = ale#Var(a:buffer, 'dockerfile_hadolint_use_docker')
-
- " check for mandatory directives
- if l:use_docker is# 'never'
- return 'hadolint'
- elseif l:use_docker is# 'always'
- return 'docker'
- endif
-
- " if we reach here, we want to use 'hadolint' if present...
- if executable('hadolint')
- return 'hadolint'
- endif
-
- "... and 'docker' as a fallback.
- return 'docker'
-endfunction
-
-function! ale_linters#dockerfile#hadolint#GetCommand(buffer) abort
- let l:command = ale_linters#dockerfile#hadolint#GetExecutable(a:buffer)
- let l:opts = ale#Var(a:buffer, 'dockerfile_hadolint_options') . ' --no-color -'
-
- if l:command is# 'docker'
- return printf('docker run --rm -i %s hadolint %s',
- \ ale#Var(a:buffer, 'dockerfile_hadolint_docker_image'),
- \ l:opts)
- endif
-
- return 'hadolint ' . l:opts
-endfunction
-
-
-call ale#linter#Define('dockerfile', {
-\ 'name': 'hadolint',
-\ 'executable': function('ale_linters#dockerfile#hadolint#GetExecutable'),
-\ 'command': function('ale_linters#dockerfile#hadolint#GetCommand'),
-\ 'callback': 'ale_linters#dockerfile#hadolint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/elixir/credo.vim b/dot_vim/plugged/ale/ale_linters/elixir/credo.vim
deleted file mode 100644
index d6a861f..0000000
--- a/dot_vim/plugged/ale/ale_linters/elixir/credo.vim
+++ /dev/null
@@ -1,71 +0,0 @@
-" Author: hauleth - https://github.com/hauleth
-
-function! ale_linters#elixir#credo#Handle(buffer, lines) abort
- " Matches patterns line the following:
- "
- " lib/filename.ex:19:7: F: Pipe chain should start with a raw value.
- let l:pattern = '\v:(\d+):?(\d+)?: (.): (.+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:type = l:match[3]
- let l:text = l:match[4]
-
- " Refactoring opportunities
- if l:type is# 'F'
- let l:type = 'W'
- " Consistency
- elseif l:type is# 'C'
- let l:type = 'W'
- " Software Design
- elseif l:type is# 'D'
- let l:type = 'I'
- " Code Readability
- elseif l:type is# 'R'
- let l:type = 'I'
- endif
-
- call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': l:match[1] + 0,
- \ 'col': l:match[2] + 0,
- \ 'type': l:type,
- \ 'text': l:text,
- \})
- endfor
-
- return l:output
-endfunction
-
-function! ale_linters#elixir#credo#GetMode() abort
- if get(g:, 'ale_elixir_credo_strict', 0)
- return '--strict'
- else
- return 'suggest'
- endif
-endfunction
-
-function! ale_linters#elixir#credo#GetConfigFile() abort
- let l:config_file = get(g:, 'ale_elixir_credo_config_file', '')
-
- if empty(l:config_file)
- return ''
- endif
-
- return ' --config-file ' . l:config_file
-endfunction
-
-function! ale_linters#elixir#credo#GetCommand(buffer) abort
- return 'mix help credo && '
- \ . 'mix credo ' . ale_linters#elixir#credo#GetMode()
- \ . ale_linters#elixir#credo#GetConfigFile()
- \ . ' --format=flycheck --read-from-stdin %s'
-endfunction
-
-call ale#linter#Define('elixir', {
-\ 'name': 'credo',
-\ 'executable': 'mix',
-\ 'cwd': function('ale#handlers#elixir#FindMixUmbrellaRoot'),
-\ 'command': function('ale_linters#elixir#credo#GetCommand'),
-\ 'callback': 'ale_linters#elixir#credo#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/elixir/cspell.vim b/dot_vim/plugged/ale/ale_linters/elixir/cspell.vim
deleted file mode 100644
index 12dc271..0000000
--- a/dot_vim/plugged/ale/ale_linters/elixir/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for Elixir files.
-
-call ale#handlers#cspell#DefineLinter('elixir')
diff --git a/dot_vim/plugged/ale/ale_linters/elixir/dialyxir.vim b/dot_vim/plugged/ale/ale_linters/elixir/dialyxir.vim
deleted file mode 100644
index 9b8a5cd..0000000
--- a/dot_vim/plugged/ale/ale_linters/elixir/dialyxir.vim
+++ /dev/null
@@ -1,34 +0,0 @@
-" Author: Fran C. - https://github.com/franciscoj
-" Description: Add dialyzer support for elixir through dialyxir
-" https://github.com/jeremyjh/dialyxir
-
-function! ale_linters#elixir#dialyxir#Handle(buffer, lines) abort
- " Matches patterns line the following:
- "
- " lib/filename.ex:19: Function fname/1 has no local return
- let l:pattern = '\v(.+):(\d+): (.+)$'
- let l:output = []
- let l:type = 'W'
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- if bufname(a:buffer) == l:match[1]
- call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': l:match[2] + 0,
- \ 'col': 0,
- \ 'type': l:type,
- \ 'text': l:match[3],
- \})
- endif
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('elixir', {
-\ 'name': 'dialyxir',
-\ 'executable': 'mix',
-\ 'cwd': function('ale#handlers#elixir#FindMixProjectRoot'),
-\ 'command': 'mix help dialyzer && mix dialyzer',
-\ 'callback': 'ale_linters#elixir#dialyxir#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/elixir/dogma.vim b/dot_vim/plugged/ale/ale_linters/elixir/dogma.vim
deleted file mode 100644
index 28e7f42..0000000
--- a/dot_vim/plugged/ale/ale_linters/elixir/dogma.vim
+++ /dev/null
@@ -1,39 +0,0 @@
-" Author: archseer - https://github.com/archSeer
-
-function! ale_linters#elixir#dogma#Handle(buffer, lines) abort
- " Matches patterns line the following:
- "
- " lib/filename.ex:19:7: F: Pipe chain should start with a raw value.
- let l:pattern = '\v:(\d+):?(\d+)?: (.): (.+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:type = l:match[3]
- let l:text = l:match[4]
-
- if l:type is# 'C'
- let l:type = 'E'
- elseif l:type is# 'R'
- let l:type = 'W'
- endif
-
- call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': l:match[1] + 0,
- \ 'col': l:match[2] + 0,
- \ 'type': l:type,
- \ 'text': l:text,
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('elixir', {
-\ 'name': 'dogma',
-\ 'executable': 'mix',
-\ 'cwd': function('ale#handlers#elixir#FindMixProjectRoot'),
-\ 'command': 'mix help dogma && mix dogma %s --format=flycheck',
-\ 'lint_file': 1,
-\ 'callback': 'ale_linters#elixir#dogma#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/elixir/elixir_ls.vim b/dot_vim/plugged/ale/ale_linters/elixir/elixir_ls.vim
deleted file mode 100644
index d5517de..0000000
--- a/dot_vim/plugged/ale/ale_linters/elixir/elixir_ls.vim
+++ /dev/null
@@ -1,21 +0,0 @@
-" Author: Jon Parise
-" Description: ElixirLS integration (https://github.com/JakeBecker/elixir-ls)
-
-call ale#Set('elixir_elixir_ls_release', 'elixir-ls')
-call ale#Set('elixir_elixir_ls_config', {})
-
-function! ale_linters#elixir#elixir_ls#GetExecutable(buffer) abort
- let l:dir = ale#path#Simplify(ale#Var(a:buffer, 'elixir_elixir_ls_release'))
- let l:cmd = has('win32') ? '\language_server.bat' : '/language_server.sh'
-
- return l:dir . l:cmd
-endfunction
-
-call ale#linter#Define('elixir', {
-\ 'name': 'elixir-ls',
-\ 'lsp': 'stdio',
-\ 'executable': function('ale_linters#elixir#elixir_ls#GetExecutable'),
-\ 'command': function('ale_linters#elixir#elixir_ls#GetExecutable'),
-\ 'project_root': function('ale#handlers#elixir#FindMixUmbrellaRoot'),
-\ 'lsp_config': {b -> ale#Var(b, 'elixir_elixir_ls_config')},
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/elixir/mix.vim b/dot_vim/plugged/ale/ale_linters/elixir/mix.vim
deleted file mode 100644
index 948c6d3..0000000
--- a/dot_vim/plugged/ale/ale_linters/elixir/mix.vim
+++ /dev/null
@@ -1,45 +0,0 @@
-" Author: evnu - https://github.com/evnu
-" Author: colbydehart - https://github.com/colbydehart
-" Description: Mix compile checking for Elixir files
-
-function! ale_linters#elixir#mix#Handle(buffer, lines) abort
- " Matches patterns like the following:
- "
- " Error format
- " ** (CompileError) apps/sim/lib/sim/server.ex:87: undefined function update_in/4
- "
- " TODO: Warning format
- " warning: variable "foobar" does not exist and is being expanded to "foobar()", please use parentheses to remove the ambiguity or change the variable name
- let l:pattern = '\v\(([^\)]+Error)\) ([^:]+):([^:]+): (.+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:type = 'E'
- let l:text = l:match[4]
-
- call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': l:match[3] + 0,
- \ 'col': 0,
- \ 'type': l:type,
- \ 'text': l:text,
- \})
- endfor
-
- return l:output
-endfunction
-
-function! ale_linters#elixir#mix#GetCommand(buffer) abort
- let l:temp_dir = ale#command#CreateDirectory(a:buffer)
-
- return ale#Env('MIX_BUILD_PATH', l:temp_dir) . 'mix compile %s'
-endfunction
-
-call ale#linter#Define('elixir', {
-\ 'name': 'mix',
-\ 'executable': 'mix',
-\ 'cwd': function('ale#handlers#elixir#FindMixProjectRoot'),
-\ 'command': function('ale_linters#elixir#mix#GetCommand'),
-\ 'callback': 'ale_linters#elixir#mix#Handle',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/elm/elm_ls.vim b/dot_vim/plugged/ale/ale_linters/elm/elm_ls.vim
deleted file mode 100644
index a02dbf4..0000000
--- a/dot_vim/plugged/ale/ale_linters/elm/elm_ls.vim
+++ /dev/null
@@ -1,40 +0,0 @@
-" Author: antew - https://github.com/antew
-" Description: elm-language-server integration for elm (diagnostics, formatting, and more)
-
-call ale#Set('elm_ls_executable', 'elm-language-server')
-call ale#Set('elm_ls_use_global', get(g:, 'ale_use_global_executables', 1))
-
-" elm-language-server will search for local and global binaries, if empty
-call ale#Set('elm_ls_elm_path', '')
-call ale#Set('elm_ls_elm_format_path', '')
-call ale#Set('elm_ls_elm_test_path', '')
-call ale#Set('elm_ls_elm_analyse_trigger', 'change')
-
-function! elm_ls#GetRootDir(buffer) abort
- let l:elm_json = ale#path#FindNearestFile(a:buffer, 'elm.json')
-
- return !empty(l:elm_json) ? fnamemodify(l:elm_json, ':p:h') : ''
-endfunction
-
-function! elm_ls#GetOptions(buffer) abort
- return {
- \ 'elmPath': ale#Var(a:buffer, 'elm_ls_elm_path'),
- \ 'elmFormatPath': ale#Var(a:buffer, 'elm_ls_elm_format_path'),
- \ 'elmTestPath': ale#Var(a:buffer, 'elm_ls_elm_test_path'),
- \ 'elmAnalyseTrigger': ale#Var(a:buffer, 'elm_ls_elm_analyse_trigger'),
- \}
-endfunction
-
-call ale#linter#Define('elm', {
-\ 'name': 'elm_ls',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'elm_ls', [
-\ 'node_modules/.bin/elm-language-server',
-\ 'node_modules/.bin/elm-lsp',
-\ 'elm-lsp'
-\ ])},
-\ 'command': '%e --stdio',
-\ 'project_root': function('elm_ls#GetRootDir'),
-\ 'language': 'elm',
-\ 'initialization_options': function('elm_ls#GetOptions')
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/elm/make.vim b/dot_vim/plugged/ale/ale_linters/elm/make.vim
deleted file mode 100644
index a7f9ea7..0000000
--- a/dot_vim/plugged/ale/ale_linters/elm/make.vim
+++ /dev/null
@@ -1,242 +0,0 @@
-" Author: buffalocoder - https://github.com/buffalocoder, soywod - https://github.com/soywod, hecrj - https://github.com/hecrj
-" Description: Elm linting in Ale. Closely follows the Syntastic checker in https://github.com/ElmCast/elm-vim.
-
-call ale#Set('elm_make_executable', 'elm')
-call ale#Set('elm_make_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#elm#make#Handle(buffer, lines) abort
- let l:output = []
- let l:unparsed_lines = []
-
- for l:line in a:lines
- if l:line[0] is# '{'
- " Elm 0.19
- call ale_linters#elm#make#HandleElm019Line(l:line, l:output)
- elseif l:line[0] is# '['
- " Elm 0.18
- call ale_linters#elm#make#HandleElm018Line(l:line, l:output)
- elseif l:line isnot# 'Successfully generated /dev/null'
- call add(l:unparsed_lines, l:line)
- endif
- endfor
-
- if len(l:unparsed_lines) > 0
- call add(l:output, {
- \ 'lnum': 1,
- \ 'type': 'E',
- \ 'text': l:unparsed_lines[0],
- \ 'detail': join(l:unparsed_lines, "\n")
- \})
- endif
-
- return l:output
-endfunction
-
-function! ale_linters#elm#make#HandleElm019Line(line, output) abort
- let l:report = json_decode(a:line)
-
- if l:report.type is? 'error'
- " General problem
- let l:details = ale_linters#elm#make#ParseMessage(l:report.message)
-
- if empty(l:report.path)
- let l:report.path = 'Elm'
- endif
-
- if ale_linters#elm#make#FileIsBuffer(l:report.path)
- call add(a:output, {
- \ 'lnum': 1,
- \ 'type': 'E',
- \ 'text': l:details,
- \})
- else
- call add(a:output, {
- \ 'lnum': 1,
- \ 'type': 'E',
- \ 'text': l:report.path .' - '. l:details,
- \ 'detail': l:report.path ." ----------\n\n". l:details,
- \})
- endif
- else
- " Compilation errors
- for l:error in l:report.errors
- let l:file_is_buffer = ale_linters#elm#make#FileIsBuffer(l:error.path)
-
- for l:problem in l:error.problems
- let l:details = ale_linters#elm#make#ParseMessage(l:problem.message)
-
- if l:file_is_buffer
- " Buffer module has problems
- call add(a:output, {
- \ 'lnum': l:problem.region.start.line,
- \ 'col': l:problem.region.start.column,
- \ 'end_lnum': l:problem.region.end.line,
- \ 'end_col': l:problem.region.end.column,
- \ 'type': 'E',
- \ 'text': l:details,
- \})
- else
- " Imported module has problems
- let l:location = l:error.path .':'. l:problem.region.start.line
- call add(a:output, {
- \ 'lnum': 1,
- \ 'type': 'E',
- \ 'text': l:location .' - '. l:details,
- \ 'detail': l:location ." ----------\n\n". l:details,
- \})
- endif
- endfor
- endfor
- endif
-endfunction
-
-function! ale_linters#elm#make#HandleElm018Line(line, output) abort
- let l:errors = json_decode(a:line)
-
- for l:error in l:errors
- let l:file_is_buffer = ale_linters#elm#make#FileIsBuffer(l:error.file)
-
- if l:file_is_buffer
- " Current buffer has problems
- call add(a:output, {
- \ 'lnum': l:error.region.start.line,
- \ 'col': l:error.region.start.column,
- \ 'end_lnum': l:error.region.end.line,
- \ 'end_col': l:error.region.end.column,
- \ 'type': (l:error.type is? 'error') ? 'E' : 'W',
- \ 'text': l:error.overview,
- \ 'detail': l:error.overview . "\n\n" . l:error.details
- \})
- elseif l:error.type is? 'error'
- " Imported module has errors
- let l:location = l:error.file .':'. l:error.region.start.line
-
- call add(a:output, {
- \ 'lnum': 1,
- \ 'type': 'E',
- \ 'text': l:location .' - '. l:error.overview,
- \ 'detail': l:location ." ----------\n\n". l:error.overview . "\n\n" . l:error.details
- \})
- endif
- endfor
-endfunction
-
-function! ale_linters#elm#make#FileIsBuffer(path) abort
- return ale#path#IsTempName(a:path)
-endfunction
-
-function! ale_linters#elm#make#ParseMessage(message) abort
- return join(map(copy(a:message), 'ale_linters#elm#make#ParseMessageItem(v:val)'), '')
-endfunction
-
-function! ale_linters#elm#make#ParseMessageItem(item) abort
- if type(a:item) is v:t_string
- return a:item
- else
- return a:item.string
- endif
-endfunction
-
-function! ale_linters#elm#make#GetPackageFile(buffer) abort
- let l:elm_json = ale#path#FindNearestFile(a:buffer, 'elm.json')
-
- if empty(l:elm_json)
- " Fallback to Elm 0.18
- let l:elm_json = ale#path#FindNearestFile(a:buffer, 'elm-package.json')
- endif
-
- return l:elm_json
-endfunction
-
-function! ale_linters#elm#make#IsVersionGte19(buffer) abort
- let l:elm_json = ale_linters#elm#make#GetPackageFile(a:buffer)
-
- if l:elm_json =~# '-package'
- return 0
- else
- return 1
- endif
-endfunction
-
-function! ale_linters#elm#make#GetRootDir(buffer) abort
- let l:elm_json = ale_linters#elm#make#GetPackageFile(a:buffer)
-
- if empty(l:elm_json)
- return ''
- else
- return fnamemodify(l:elm_json, ':p:h')
- endif
-endfunction
-
-function! ale_linters#elm#make#IsTest(buffer) abort
- let l:root_dir = ale_linters#elm#make#GetRootDir(a:buffer)
-
- if empty(l:root_dir)
- return 0
- endif
-
- let l:tests_dir = join([l:root_dir, 'tests', ''], has('win32') ? '\' : '/')
-
- let l:buffer_path = fnamemodify(bufname(a:buffer), ':p')
-
- if stridx(l:buffer_path, l:tests_dir) == 0
- return 1
- else
- return 0
- endif
-endfunction
-
-function! ale_linters#elm#make#GetCwd(buffer) abort
- let l:root_dir = ale_linters#elm#make#GetRootDir(a:buffer)
-
- return !empty(l:root_dir) ? l:root_dir : ''
-endfunction
-
-" Return the command to execute the linter in the projects directory.
-" If it doesn't, then this will fail when imports are needed.
-function! ale_linters#elm#make#GetCommand(buffer) abort
- let l:executable = ale_linters#elm#make#GetExecutable(a:buffer)
- let l:is_v19 = ale_linters#elm#make#IsVersionGte19(a:buffer)
- let l:is_using_elm_test = l:executable =~# 'elm-test$'
-
- " elm-test needs to know the path of elm-make if elm isn't installed globally.
- " https://github.com/rtfeldman/node-test-runner/blob/57728f10668f2d2ab3179e7e3208bcfa9a1f19aa/README.md#--compiler
- if l:is_v19 && l:is_using_elm_test
- let l:elm_make_executable = ale#path#FindExecutable(a:buffer, 'elm_make', ['node_modules/.bin/elm'])
- let l:elm_test_compiler_flag = ' --compiler ' . l:elm_make_executable . ' '
- else
- let l:elm_test_compiler_flag = ' '
- endif
-
- " The elm compiler, at the time of this writing, uses '/dev/null' as
- " a sort of flag to tell the compiler not to generate an output file,
- " which is why this is hard coded here.
- " Source: https://github.com/elm-lang/elm-compiler/blob/19d5a769b30ec0b2fc4475985abb4cd94cd1d6c3/builder/src/Generate/Output.hs#L253
- return '%e make --report=json --output=/dev/null'
- \ . l:elm_test_compiler_flag
- \ . '%t'
-endfunction
-
-function! ale_linters#elm#make#GetExecutable(buffer) abort
- let l:is_test = ale_linters#elm#make#IsTest(a:buffer)
- let l:is_v19 = ale_linters#elm#make#IsVersionGte19(a:buffer)
-
- if l:is_test && l:is_v19
- return ale#path#FindExecutable(
- \ a:buffer,
- \ 'elm_make',
- \ ['node_modules/.bin/elm-test', 'node_modules/.bin/elm']
- \)
- else
- return ale#path#FindExecutable(a:buffer, 'elm_make', ['node_modules/.bin/elm'])
- endif
-endfunction
-
-call ale#linter#Define('elm', {
-\ 'name': 'make',
-\ 'executable': function('ale_linters#elm#make#GetExecutable'),
-\ 'output_stream': 'both',
-\ 'cwd': function('ale_linters#elm#make#GetCwd'),
-\ 'command': function('ale_linters#elm#make#GetCommand'),
-\ 'callback': 'ale_linters#elm#make#Handle'
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/erlang/dialyzer.vim b/dot_vim/plugged/ale/ale_linters/erlang/dialyzer.vim
deleted file mode 100644
index a97c952..0000000
--- a/dot_vim/plugged/ale/ale_linters/erlang/dialyzer.vim
+++ /dev/null
@@ -1,97 +0,0 @@
-" Author: Autoine Gagne - https://github.com/AntoineGagne
-" Description: Define a checker that runs dialyzer on Erlang files.
-
-let g:ale_erlang_dialyzer_executable =
-\ get(g:, 'ale_erlang_dialyzer_executable', 'dialyzer')
-let g:ale_erlang_dialyzer_options =
-\ get(g:, 'ale_erlang_dialyzer_options', '-Wunmatched_returns'
-\ . ' -Werror_handling'
-\ . ' -Wrace_conditions'
-\ . ' -Wunderspecs')
-let g:ale_erlang_dialyzer_plt_file =
-\ get(g:, 'ale_erlang_dialyzer_plt_file', '')
-let g:ale_erlang_dialyzer_rebar3_profile =
-\ get(g:, 'ale_erlang_dialyzer_rebar3_profile', 'default')
-
-function! ale_linters#erlang#dialyzer#GetRebar3Profile(buffer) abort
- return ale#Var(a:buffer, 'erlang_dialyzer_rebar3_profile')
-endfunction
-
-function! ale_linters#erlang#dialyzer#FindPlt(buffer) abort
- let l:plt_file = ''
- let l:rebar3_profile = ale_linters#erlang#dialyzer#GetRebar3Profile(a:buffer)
- let l:plt_file_directory = ale#path#FindNearestDirectory(a:buffer, '_build/' . l:rebar3_profile)
-
- if !empty(l:plt_file_directory)
- let l:plt_file = globpath(l:plt_file_directory, '*_plt', 0, 1)
- endif
-
- if !empty(l:plt_file)
- return l:plt_file[0]
- endif
-
- if !empty($REBAR_PLT_DIR)
- return expand('$REBAR_PLT_DIR/dialyzer/plt')
- endif
-
- return expand('$HOME/.dialyzer_plt')
-endfunction
-
-function! ale_linters#erlang#dialyzer#GetPlt(buffer) abort
- let l:plt_file = ale#Var(a:buffer, 'erlang_dialyzer_plt_file')
-
- if !empty(l:plt_file)
- return l:plt_file
- endif
-
- return ale_linters#erlang#dialyzer#FindPlt(a:buffer)
-endfunction
-
-function! ale_linters#erlang#dialyzer#GetExecutable(buffer) abort
- return ale#Var(a:buffer, 'erlang_dialyzer_executable')
-endfunction
-
-function! ale_linters#erlang#dialyzer#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'erlang_dialyzer_options')
-
- let l:command = ale#Escape(ale_linters#erlang#dialyzer#GetExecutable(a:buffer))
- \ . ' -n'
- \ . ' --plt ' . ale#Escape(ale_linters#erlang#dialyzer#GetPlt(a:buffer))
- \ . ' ' . l:options
- \ . ' %s'
-
- return l:command
-endfunction
-
-function! ale_linters#erlang#dialyzer#Handle(buffer, lines) abort
- " Match patterns like the following:
- "
- " erl_tidy_prv_fmt.erl:3: Callback info about the provider behaviour is not available
- let l:pattern = '^\S\+:\(\d\+\): \(.\+\)$'
- let l:output = []
-
- for l:line in a:lines
- let l:match = matchlist(l:line, l:pattern)
-
- if len(l:match) != 0
- let l:code = l:match[2]
-
- call add(l:output, {
- \ 'lnum': str2nr(l:match[1]),
- \ 'lcol': 0,
- \ 'text': l:code,
- \ 'type': 'W'
- \})
- endif
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('erlang', {
-\ 'name': 'dialyzer',
-\ 'executable': function('ale_linters#erlang#dialyzer#GetExecutable'),
-\ 'command': function('ale_linters#erlang#dialyzer#GetCommand'),
-\ 'callback': function('ale_linters#erlang#dialyzer#Handle'),
-\ 'lint_file': 1
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/erlang/elvis.vim b/dot_vim/plugged/ale/ale_linters/erlang/elvis.vim
deleted file mode 100644
index 0fb85c0..0000000
--- a/dot_vim/plugged/ale/ale_linters/erlang/elvis.vim
+++ /dev/null
@@ -1,40 +0,0 @@
-" Author: Dmitri Vereshchagin
-" Description: Elvis linter for Erlang files
-
-call ale#Set('erlang_elvis_executable', 'elvis')
-
-function! ale_linters#erlang#elvis#Handle(buffer, lines) abort
- let l:pattern = '\v:(\d+):[^:]+:(.+)'
- let l:loclist = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:loclist, {
- \ 'lnum': str2nr(l:match[1]),
- \ 'text': s:AbbreviateMessage(l:match[2]),
- \ 'type': 'W',
- \ 'sub_type': 'style',
- \})
- endfor
-
- return l:loclist
-endfunction
-
-function! s:AbbreviateMessage(text) abort
- let l:pattern = '\v\c^(line \d+ is too long):.*$'
-
- return substitute(a:text, l:pattern, '\1.', '')
-endfunction
-
-function! s:GetCommand(buffer) abort
- let l:file = ale#Escape(expand('#' . a:buffer . ':.'))
-
- return '%e rock --output-format=parsable ' . l:file
-endfunction
-
-call ale#linter#Define('erlang', {
-\ 'name': 'elvis',
-\ 'callback': 'ale_linters#erlang#elvis#Handle',
-\ 'executable': {b -> ale#Var(b, 'erlang_elvis_executable')},
-\ 'command': function('s:GetCommand'),
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/erlang/erlang_ls.vim b/dot_vim/plugged/ale/ale_linters/erlang/erlang_ls.vim
deleted file mode 100644
index b747e45..0000000
--- a/dot_vim/plugged/ale/ale_linters/erlang/erlang_ls.vim
+++ /dev/null
@@ -1,49 +0,0 @@
-" Author: Dmitri Vereshchagin
-" Description: LSP linter for Erlang files
-
-call ale#Set('erlang_erlang_ls_executable', 'erlang_ls')
-call ale#Set('erlang_erlang_ls_log_dir', '')
-call ale#Set('erlang_erlang_ls_log_level', 'info')
-
-function! s:GetCommand(buffer) abort
- let l:log_dir = ale#Var(a:buffer, 'erlang_erlang_ls_log_dir')
- let l:log_level = ale#Var(a:buffer, 'erlang_erlang_ls_log_level')
-
- let l:command = '%e'
-
- if !empty(l:log_dir)
- let l:command .= ' --log-dir=' . ale#Escape(l:log_dir)
- endif
-
- let l:command .= ' --log-level=' . ale#Escape(l:log_level)
-
- return l:command
-endfunction
-
-function! s:FindProjectRoot(buffer) abort
- let l:markers = ['_build/', 'erlang_ls.config', 'rebar.lock']
-
- " This is a way to find Erlang/OTP root (the one that is managed
- " by kerl or asdf). Useful if :ALEGoToDefinition takes us there.
- let l:markers += ['.kerl_config']
-
- for l:marker in l:markers
- let l:path = l:marker[-1:] is# '/'
- \ ? ale#path#FindNearestDirectory(a:buffer, l:marker)
- \ : ale#path#FindNearestFile(a:buffer, l:marker)
-
- if !empty(l:path)
- return ale#path#Dirname(l:path)
- endif
- endfor
-
- return ''
-endfunction
-
-call ale#linter#Define('erlang', {
-\ 'name': 'erlang_ls',
-\ 'executable': {b -> ale#Var(b, 'erlang_erlang_ls_executable')},
-\ 'command': function('s:GetCommand'),
-\ 'lsp': 'stdio',
-\ 'project_root': function('s:FindProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/erlang/erlc.vim b/dot_vim/plugged/ale/ale_linters/erlang/erlc.vim
deleted file mode 100644
index 0c67a73..0000000
--- a/dot_vim/plugged/ale/ale_linters/erlang/erlc.vim
+++ /dev/null
@@ -1,104 +0,0 @@
-" Author: Magnus Ottenklinger - https://github.com/evnu
-
-let g:ale_erlang_erlc_executable = get(g:, 'ale_erlang_erlc_executable', 'erlc')
-let g:ale_erlang_erlc_options = get(g:, 'ale_erlang_erlc_options', '')
-
-function! ale_linters#erlang#erlc#GetExecutable(buffer) abort
- return ale#Var(a:buffer, 'erlang_erlc_executable')
-endfunction
-
-function! ale_linters#erlang#erlc#GetCommand(buffer) abort
- let l:output_file = ale#util#Tempname()
- call ale#command#ManageFile(a:buffer, l:output_file)
-
- let l:command = ale#Escape(ale_linters#erlang#erlc#GetExecutable(a:buffer))
- \ . ' -o ' . ale#Escape(l:output_file)
- \ . ' ' . ale#Var(a:buffer, 'erlang_erlc_options')
- \ . ' %t'
-
- return l:command
-endfunction
-
-function! ale_linters#erlang#erlc#Handle(buffer, lines) abort
- " Matches patterns like the following:
- "
- " error.erl:4: variable 'B' is unbound
- " error.erl:3: Warning: function main/0 is unused
- " error.erl:4: Warning: variable 'A' is unused
- let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+:)? (Warning: )?(.+)$'
-
- " parse_transforms are a special case. The error message does not indicate a location:
- " error.erl: undefined parse transform 'some_parse_transform'
- let l:pattern_parse_transform = '\v(undefined parse transform .*)$'
- let l:output = []
-
- let l:pattern_no_module_definition = '\v(no module definition)$'
- let l:pattern_unused = '\v(.* is unused)$'
-
- let l:is_hrl = fnamemodify(bufname(a:buffer), ':e') is# 'hrl'
-
- for l:line in a:lines
- let l:match = matchlist(l:line, l:pattern)
-
- " Determine if the output indicates an error. We distinguish between two cases:
- "
- " 1) normal errors match l:pattern
- " 2) parse_transform errors match l:pattern_parse_transform
- "
- " If none of the patterns above match, the line can be ignored
- if len(l:match) == 0 " not a 'normal' warning or error
- let l:match_parse_transform = matchlist(l:line, l:pattern_parse_transform)
-
- if len(l:match_parse_transform) == 0 " also not a parse_transform error
- continue
- endif
-
- call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': 0,
- \ 'col': 0,
- \ 'type': 'E',
- \ 'text': l:match_parse_transform[0],
- \})
-
- continue
- endif
-
- let l:line = l:match[2]
- let l:warning_or_text = l:match[4]
- let l:text = l:match[5]
-
- " If this file is a header .hrl, ignore the following expected messages:
- " - 'no module definition'
- " - 'X is unused'
- if l:is_hrl && (
- \ match(l:text, l:pattern_no_module_definition) != -1
- \ || match(l:text, l:pattern_unused) != -1
- \)
- continue
- endif
-
- if !empty(l:warning_or_text)
- let l:type = 'W'
- else
- let l:type = 'E'
- endif
-
- call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': l:line,
- \ 'col': 0,
- \ 'type': l:type,
- \ 'text': l:text,
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('erlang', {
-\ 'name': 'erlc',
-\ 'executable': function('ale_linters#erlang#erlc#GetExecutable'),
-\ 'command': function('ale_linters#erlang#erlc#GetCommand'),
-\ 'callback': 'ale_linters#erlang#erlc#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/erlang/syntaxerl.vim b/dot_vim/plugged/ale/ale_linters/erlang/syntaxerl.vim
deleted file mode 100644
index 5d555a8..0000000
--- a/dot_vim/plugged/ale/ale_linters/erlang/syntaxerl.vim
+++ /dev/null
@@ -1,42 +0,0 @@
-" Author: Dmitri Vereshchagin
-" Description: SyntaxErl linter for Erlang files
-
-call ale#Set('erlang_syntaxerl_executable', 'syntaxerl')
-
-function! ale_linters#erlang#syntaxerl#RunHelpCommand(buffer) abort
- let l:executable = ale#Var(a:buffer, 'erlang_syntaxerl_executable')
-
- return ale#command#Run(
- \ a:buffer,
- \ ale#Escape(l:executable) . ' -h',
- \ function('ale_linters#erlang#syntaxerl#GetCommand'),
- \)
-endfunction
-
-function! ale_linters#erlang#syntaxerl#GetCommand(buffer, output, meta) abort
- let l:use_b_option = match(a:output, '\C\V-b, --base\>') > -1
-
- return '%e' . (l:use_b_option ? ' -b %s %t' : ' %t')
-endfunction
-
-function! ale_linters#erlang#syntaxerl#Handle(buffer, lines) abort
- let l:pattern = '\v\C:(\d+):( warning:)? (.+)'
- let l:loclist = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:loclist, {
- \ 'lnum': l:match[1] + 0,
- \ 'text': l:match[3],
- \ 'type': empty(l:match[2]) ? 'E' : 'W',
- \})
- endfor
-
- return l:loclist
-endfunction
-
-call ale#linter#Define('erlang', {
-\ 'name': 'syntaxerl',
-\ 'executable': {b -> ale#Var(b, 'erlang_syntaxerl_executable')},
-\ 'command': {b -> ale_linters#erlang#syntaxerl#RunHelpCommand(b)},
-\ 'callback': 'ale_linters#erlang#syntaxerl#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/eruby/erb.vim b/dot_vim/plugged/ale/ale_linters/eruby/erb.vim
deleted file mode 100644
index f343832..0000000
--- a/dot_vim/plugged/ale/ale_linters/eruby/erb.vim
+++ /dev/null
@@ -1,25 +0,0 @@
-" Author: Matthias Guenther - https://wikimatze.de, Eddie Lebow https://github.com/elebow
-" Description: ERB from the Ruby standard library, for eruby/erb files
-
-function! ale_linters#eruby#erb#GetCommand(buffer) abort
- let l:rails_root = ale#ruby#FindRailsRoot(a:buffer)
-
- if empty(l:rails_root)
- return 'erb -P -T - -x %t | ruby -c'
- endif
-
- " Rails-flavored eRuby does not comply with the standard as understood by
- " ERB, so we'll have to do some substitution. This does not reduce the
- " effectiveness of the linter—the translated code is still evaluated.
- return 'ruby -r erb -e ' . ale#Escape('puts ERB.new($stdin.read.gsub(%{<%=},%{<%}), nil, %{-}).src') . '< %t | ruby -c'
-endfunction
-
-call ale#linter#Define('eruby', {
-\ 'name': 'erb',
-\ 'aliases': ['erubylint'],
-\ 'executable': 'erb',
-\ 'output_stream': 'stderr',
-\ 'command': function('ale_linters#eruby#erb#GetCommand'),
-\ 'callback': 'ale#handlers#ruby#HandleSyntaxErrors',
-\})
-
diff --git a/dot_vim/plugged/ale/ale_linters/eruby/erblint.vim b/dot_vim/plugged/ale/ale_linters/eruby/erblint.vim
deleted file mode 100644
index 1996018..0000000
--- a/dot_vim/plugged/ale/ale_linters/eruby/erblint.vim
+++ /dev/null
@@ -1,51 +0,0 @@
-" Author: Roeland Moors - https://github.com/roelandmoors
-" based on the ale ruumba and robocop linters
-" Description: ERB Lint, support for https://github.com/Shopify/erb-lint
-
-call ale#Set('eruby_erblint_executable', 'erblint')
-call ale#Set('eruby_erblint_options', '')
-
-function! ale_linters#eruby#erblint#GetCommand(buffer) abort
- let l:executable = ale#Var(a:buffer, 'eruby_erblint_executable')
-
- return ale#ruby#EscapeExecutable(l:executable, 'erblint')
- \ . ' --format json '
- \ . ale#Var(a:buffer, 'eruby_erblint_options')
- \ . ' --stdin %s'
-endfunction
-
-function! ale_linters#eruby#erblint#Handle(buffer, lines) abort
- if empty(a:lines)
- return []
- endif
-
- let l:errors = ale#util#FuzzyJSONDecode(a:lines[0], [])
-
- if !has_key(l:errors, 'summary')
- \|| l:errors['summary']['offenses'] == 0
- \|| empty(l:errors['files'])
- return []
- endif
-
- let l:output = []
-
- for l:error in l:errors['files'][0]['offenses']
- call add(l:output, {
- \ 'lnum': l:error['location']['start_line'] + 0,
- \ 'col': l:error['location']['start_column'] + 0,
- \ 'end_col': l:error['location']['last_column'] + 0,
- \ 'code': l:error['linter'],
- \ 'text': l:error['message'],
- \ 'type': 'W',
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('eruby', {
-\ 'name': 'erblint',
-\ 'executable': {b -> ale#Var(b, 'eruby_erblint_executable')},
-\ 'command': function('ale_linters#eruby#erblint#GetCommand'),
-\ 'callback': 'ale_linters#eruby#erblint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/eruby/erubi.vim b/dot_vim/plugged/ale/ale_linters/eruby/erubi.vim
deleted file mode 100644
index ddca3f6..0000000
--- a/dot_vim/plugged/ale/ale_linters/eruby/erubi.vim
+++ /dev/null
@@ -1,32 +0,0 @@
-" Author: Eddie Lebow https://github.com/elebow
-" Description: eruby checker using `erubi`
-
-function! ale_linters#eruby#erubi#GetCommand(buffer, output, meta) abort
- let l:rails_root = ale#ruby#FindRailsRoot(a:buffer)
-
- if !empty(a:output)
- " The empty command in CheckErubi returns nothing if erubi runs and
- " emits an error if erubi is not present
- return ''
- endif
-
- if empty(l:rails_root)
- return 'ruby -r erubi/capture_end -e ' . ale#Escape('puts Erubi::CaptureEndEngine.new($stdin.read).src') . '< %t | ruby -c'
- endif
-
- " Rails-flavored eRuby does not comply with the standard as understood by
- " Erubi, so we'll have to do some substitution. This does not reduce the
- " effectiveness of the linter---the translated code is still evaluated.
- return 'ruby -r erubi/capture_end -e ' . ale#Escape('puts Erubi::CaptureEndEngine.new($stdin.read.gsub(%{<%=},%{<%}), nil, %{-}).src') . '< %t | ruby -c'
-endfunction
-
-call ale#linter#Define('eruby', {
-\ 'name': 'erubi',
-\ 'executable': 'ruby',
-\ 'command': {buffer -> ale#command#Run(
-\ buffer,
-\ 'ruby -r erubi/capture_end -e ' . ale#Escape('""'),
-\ function('ale_linters#eruby#erubi#GetCommand'),
-\ )},
-\ 'callback': 'ale#handlers#ruby#HandleSyntaxErrors',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/eruby/erubis.vim b/dot_vim/plugged/ale/ale_linters/eruby/erubis.vim
deleted file mode 100644
index 755c580..0000000
--- a/dot_vim/plugged/ale/ale_linters/eruby/erubis.vim
+++ /dev/null
@@ -1,23 +0,0 @@
-" Author: Jake Zimmerman , Eddie Lebow https://github.com/elebow
-" Description: eruby checker using `erubis`, instead of `erb`
-
-function! ale_linters#eruby#erubis#GetCommand(buffer) abort
- let l:rails_root = ale#ruby#FindRailsRoot(a:buffer)
-
- if empty(l:rails_root)
- return 'erubis -x %t | ruby -c'
- endif
-
- " Rails-flavored eRuby does not comply with the standard as understood by
- " Erubis, so we'll have to do some substitution. This does not reduce the
- " effectiveness of the linter - the translated code is still evaluated.
- return 'ruby -r erubis -e ' . ale#Escape('puts Erubis::Eruby.new($stdin.read.gsub(%{<%=},%{<%})).src') . '< %t | ruby -c'
-endfunction
-
-call ale#linter#Define('eruby', {
-\ 'name': 'erubis',
-\ 'executable': 'erubis',
-\ 'output_stream': 'stderr',
-\ 'command': function('ale_linters#eruby#erubis#GetCommand'),
-\ 'callback': 'ale#handlers#ruby#HandleSyntaxErrors',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/eruby/ruumba.vim b/dot_vim/plugged/ale/ale_linters/eruby/ruumba.vim
deleted file mode 100644
index f415f1a..0000000
--- a/dot_vim/plugged/ale/ale_linters/eruby/ruumba.vim
+++ /dev/null
@@ -1,62 +0,0 @@
-" Author: aclemons - https://github.com/aclemons
-" based on the ale rubocop linter
-" Description: Ruumba, RuboCop linting for ERB templates.
-
-call ale#Set('eruby_ruumba_executable', 'ruumba')
-call ale#Set('eruby_ruumba_options', '')
-
-function! ale_linters#eruby#ruumba#GetCommand(buffer) abort
- let l:executable = ale#Var(a:buffer, 'eruby_ruumba_executable')
-
- return ale#ruby#EscapeExecutable(l:executable, 'ruumba')
- \ . ' --format json --force-exclusion '
- \ . ale#Var(a:buffer, 'eruby_ruumba_options')
- \ . ' --stdin %s'
-endfunction
-
-function! ale_linters#eruby#ruumba#Handle(buffer, lines) abort
- try
- let l:errors = json_decode(a:lines[0])
- catch
- return []
- endtry
-
- if !has_key(l:errors, 'summary')
- \|| l:errors['summary']['offense_count'] == 0
- \|| empty(l:errors['files'])
- return []
- endif
-
- let l:output = []
-
- for l:error in l:errors['files'][0]['offenses']
- let l:start_col = l:error['location']['column'] + 0
- call add(l:output, {
- \ 'lnum': l:error['location']['line'] + 0,
- \ 'col': l:start_col,
- \ 'end_col': l:start_col + l:error['location']['length'] - 1,
- \ 'code': l:error['cop_name'],
- \ 'text': l:error['message'],
- \ 'type': ale_linters#eruby#ruumba#GetType(l:error['severity']),
- \})
- endfor
-
- return l:output
-endfunction
-
-function! ale_linters#eruby#ruumba#GetType(severity) abort
- if a:severity is? 'convention'
- \|| a:severity is? 'warning'
- \|| a:severity is? 'refactor'
- return 'W'
- endif
-
- return 'E'
-endfunction
-
-call ale#linter#Define('eruby', {
-\ 'name': 'ruumba',
-\ 'executable': {b -> ale#Var(b, 'eruby_ruumba_executable')},
-\ 'command': function('ale_linters#eruby#ruumba#GetCommand'),
-\ 'callback': 'ale_linters#eruby#ruumba#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/fish/fish.vim b/dot_vim/plugged/ale/ale_linters/fish/fish.vim
deleted file mode 100644
index 87ede29..0000000
--- a/dot_vim/plugged/ale/ale_linters/fish/fish.vim
+++ /dev/null
@@ -1,67 +0,0 @@
-" Author: Niraj Thapaliya - https://github.com/nthapaliya
-" Description: Lints fish files using fish -n
-
-function! ale_linters#fish#fish#Handle(buffer, lines) abort
- " Matches patterns such as:
- "
- " home/.config/fish/functions/foo.fish (line 1): Missing end to balance this function definition
- " function foo
- " ^
- "
- " OR, patterns such as:
- "
- " Unsupported use of '||'. In fish, please use 'COMMAND; or COMMAND'.
- " /tmp/vLz620o/258/test.fish (line 2): if set -q SSH_CLIENT || set -q SSH_TTY
- " ^
- "
- " fish -n can return errors in either format.
- let l:pattern = '^\(.* (line \(\d\+\)): \)\(.*\)$'
- let l:column_pattern = '^ *\^'
- let l:output = []
- let l:column_offset = 0
- let l:last_line_with_message = ''
-
- for l:line in a:lines
- " Look for error lines first.
- let l:match = matchlist(l:line, l:pattern)
-
- if !empty(l:match)
- if !empty(l:last_line_with_message)
- let l:text = l:last_line_with_message
- else
- let l:text = l:match[3]
- endif
-
- let l:column_offset = len(l:match[1])
-
- let l:last_line_with_message = ''
- call add(l:output, {
- \ 'col': 0,
- \ 'lnum': str2nr(l:match[2]),
- \ 'text': l:text,
- \})
- else
- " Look for column markers like ' ^' second.
- " The column index will be set according to how long the line is.
- let l:column_match = matchstr(l:line, l:column_pattern)
-
- if !empty(l:column_match) && !empty(l:output)
- let l:output[-1].col = len(l:column_match) - l:column_offset
- let l:last_line_with_message = ''
- else
- let l:last_line_with_message = l:line
- let l:column_offset = 0
- endif
- endif
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('fish', {
-\ 'name': 'fish',
-\ 'output_stream': 'stderr',
-\ 'executable': 'fish',
-\ 'command': 'fish -n %t',
-\ 'callback': 'ale_linters#fish#fish#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/fortran/gcc.vim b/dot_vim/plugged/ale/ale_linters/fortran/gcc.vim
deleted file mode 100644
index 6e97d6f..0000000
--- a/dot_vim/plugged/ale/ale_linters/fortran/gcc.vim
+++ /dev/null
@@ -1,72 +0,0 @@
-" Author: w0rp
-" Description: gcc for Fortran files
-
-" This option can be set to 0 to use -ffixed-form
-call ale#Set('fortran_gcc_use_free_form', 1)
-call ale#Set('fortran_gcc_executable', 'gcc')
-" Set this option to change the GCC options for warnings for Fortran.
-call ale#Set('fortran_gcc_options', '-Wall')
-
-function! ale_linters#fortran#gcc#Handle(buffer, lines) abort
- " We have to match a starting line and a later ending line together,
- " like so.
- "
- " :21.34:
- " Error: Expected comma in I/O list at (1)
- let l:line_marker_pattern = ':\(\d\+\)[.:]\=\(\d\+\)\=:\=$'
- let l:message_pattern = '^\(Error\|Warning\): \(.\+\)$'
- let l:looking_for_message = 0
- let l:last_loclist_obj = {}
-
- let l:output = []
-
- for l:line in a:lines
- if l:looking_for_message
- let l:match = matchlist(l:line, l:message_pattern)
- else
- let l:match = matchlist(l:line, l:line_marker_pattern)
- endif
-
- if len(l:match) == 0
- continue
- endif
-
- if l:looking_for_message
- let l:looking_for_message = 0
-
- " Now we have the text, we can set it and add the error.
- let l:last_loclist_obj.text = l:match[2]
- let l:last_loclist_obj.type = l:match[1] is# 'Warning' ? 'W' : 'E'
- call add(l:output, l:last_loclist_obj)
- else
- let l:last_loclist_obj = {
- \ 'bufnr': a:buffer,
- \ 'lnum': l:match[1] + 0,
- \ 'col': l:match[2] + 0,
- \}
-
- " Start looking for the message and error type.
- let l:looking_for_message = 1
- endif
- endfor
-
- return l:output
-endfunction
-
-function! ale_linters#fortran#gcc#GetCommand(buffer) abort
- let l:layout_option = ale#Var(a:buffer, 'fortran_gcc_use_free_form')
- \ ? '-ffree-form'
- \ : '-ffixed-form'
-
- return '%e -S -x f95 -fsyntax-only ' . l:layout_option
- \ . ale#Pad(ale#Var(a:buffer, 'fortran_gcc_options'))
- \ . ' -'
-endfunction
-
-call ale#linter#Define('fortran', {
-\ 'name': 'gcc',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'fortran_gcc_executable')},
-\ 'command': function('ale_linters#fortran#gcc#GetCommand'),
-\ 'callback': 'ale_linters#fortran#gcc#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/fortran/language_server.vim b/dot_vim/plugged/ale/ale_linters/fortran/language_server.vim
deleted file mode 100644
index 00aa057..0000000
--- a/dot_vim/plugged/ale/ale_linters/fortran/language_server.vim
+++ /dev/null
@@ -1,19 +0,0 @@
-" Author: unpairedbracket ben.spiers22@gmail.com
-" Description: A language server for fortran
-
-call ale#Set('fortran_language_server_executable', 'fortls')
-call ale#Set('fortran_language_server_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#fortran#language_server#GetProjectRoot(buffer) abort
- let l:fortls_file = ale#path#FindNearestFile(a:buffer, '.fortls')
-
- return !empty(l:fortls_file) ? fnamemodify(l:fortls_file, ':h') : ''
-endfunction
-
-call ale#linter#Define('fortran', {
-\ 'name': 'language_server',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'fortran_language_server_executable')},
-\ 'command': '%e',
-\ 'project_root': function('ale_linters#fortran#language_server#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/fountain/proselint.vim b/dot_vim/plugged/ale/ale_linters/fountain/proselint.vim
deleted file mode 100644
index 353a2e5..0000000
--- a/dot_vim/plugged/ale/ale_linters/fountain/proselint.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: Jansen Mitchell https://github.com/JansenMitchell
-" Description: proselint for Fountain files
-
-call ale#linter#Define('fountain', {
-\ 'name': 'proselint',
-\ 'executable': 'proselint',
-\ 'command': 'proselint %t',
-\ 'callback': 'ale#handlers#unix#HandleAsWarning',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/fuse/fusionlint.vim b/dot_vim/plugged/ale/ale_linters/fuse/fusionlint.vim
deleted file mode 100644
index ffb25d3..0000000
--- a/dot_vim/plugged/ale/ale_linters/fuse/fusionlint.vim
+++ /dev/null
@@ -1,33 +0,0 @@
-" Author: RyanSquared
-" Description: `fusion-lint` linter for FusionScript files
-
-call ale#Set('fuse_fusionlint_executable', 'fusion-lint')
-call ale#Set('fuse_fusionlint_options', '')
-
-function! ale_linters#fuse#fusionlint#GetCommand(buffer) abort
- return '%e' . ale#Pad(ale#Var(a:buffer, 'fuse_fusionlint_options'))
- \ . ' --filename %s -i'
-endfunction
-
-function! ale_linters#fuse#fusionlint#Handle(buffer, lines) abort
- let l:pattern = '^.*:\(\d\+\):\(\d\+\): (\([WE]\)\d\+) \(.\+\)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': l:match[1] + 0,
- \ 'col': l:match[2] + 0,
- \ 'text': l:match[4],
- \ 'type': l:match[3],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('fuse', {
-\ 'name': 'fusionlint',
-\ 'executable': {b -> ale#Var(b, 'fuse_fusionlint_executable')},
-\ 'command': function('ale_linters#fuse#fusionlint#GetCommand'),
-\ 'callback': 'ale_linters#fuse#fusionlint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/gitcommit/gitlint.vim b/dot_vim/plugged/ale/ale_linters/gitcommit/gitlint.vim
deleted file mode 100644
index 4b9cec6..0000000
--- a/dot_vim/plugged/ale/ale_linters/gitcommit/gitlint.vim
+++ /dev/null
@@ -1,51 +0,0 @@
-" Author: Nick Yamane
-" Description: gitlint for git commit message files
-
-call ale#Set('gitcommit_gitlint_executable', 'gitlint')
-call ale#Set('gitcommit_gitlint_options', '')
-call ale#Set('gitcommit_gitlint_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#gitcommit#gitlint#GetExecutable(buffer) abort
- return ale#python#FindExecutable(a:buffer, 'gitcommit_gitlint', ['gitlint'])
-endfunction
-
-function! ale_linters#gitcommit#gitlint#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'gitcommit_gitlint_options')
-
- return '%e' . ale#Pad(l:options) . ' lint'
-endfunction
-
-function! ale_linters#gitcommit#gitlint#Handle(buffer, lines) abort
- " Matches patterns line the following:
- let l:pattern = '\v^(\d+): (\w+) (.*)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:code = l:match[2]
-
- if !ale#Var(a:buffer, 'warn_about_trailing_whitespace')
- if l:code is# 'T2' || l:code is# 'B2'
- continue
- endif
- endif
-
- let l:item = {
- \ 'lnum': l:match[1] + 0,
- \ 'text': l:match[3],
- \ 'code': l:code,
- \ 'type': 'E',
- \}
-
- call add(l:output, l:item)
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('gitcommit', {
-\ 'name': 'gitlint',
-\ 'output_stream': 'stderr',
-\ 'executable': function('ale_linters#gitcommit#gitlint#GetExecutable'),
-\ 'command': function('ale_linters#gitcommit#gitlint#GetCommand'),
-\ 'callback': 'ale_linters#gitcommit#gitlint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/glsl/glslang.vim b/dot_vim/plugged/ale/ale_linters/glsl/glslang.vim
deleted file mode 100644
index bbddce9..0000000
--- a/dot_vim/plugged/ale/ale_linters/glsl/glslang.vim
+++ /dev/null
@@ -1,40 +0,0 @@
-" Author: Sven-Hendrik Haase
-" Description: glslang-based linter for glsl files
-"
-" TODO: Once https://github.com/KhronosGroup/glslang/pull/1047 is accepted,
-" we can use stdin.
-
-call ale#Set('glsl_glslang_executable', 'glslangValidator')
-call ale#Set('glsl_glslang_options', '')
-
-function! ale_linters#glsl#glslang#GetCommand(buffer) abort
- return '%e'
- \ . ale#Pad(ale#Var(a:buffer, 'glsl_glslang_options'))
- \ . ' -C %t'
-endfunction
-
-function! ale_linters#glsl#glslang#Handle(buffer, lines) abort
- " Matches patterns like the following:
- "
- " ERROR: 0:5: 'foo' : undeclared identifier
- let l:pattern = '^\(.\+\): \(\d\+\):\(\d\+\): \(.\+\)'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': str2nr(l:match[3]),
- \ 'col': str2nr(l:match[2]),
- \ 'text': l:match[4],
- \ 'type': l:match[1] is# 'ERROR' ? 'E' : 'W',
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('glsl', {
-\ 'name': 'glslang',
-\ 'executable': {b -> ale#Var(b, 'glsl_glslang_executable')},
-\ 'command': function('ale_linters#glsl#glslang#GetCommand'),
-\ 'callback': 'ale_linters#glsl#glslang#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/glsl/glslls.vim b/dot_vim/plugged/ale/ale_linters/glsl/glslls.vim
deleted file mode 100644
index b62844c..0000000
--- a/dot_vim/plugged/ale/ale_linters/glsl/glslls.vim
+++ /dev/null
@@ -1,30 +0,0 @@
-" Author: Sven-Hendrik Haase
-" Description: A language server for glsl
-
-call ale#Set('glsl_glslls_executable', 'glslls')
-call ale#Set('glsl_glslls_logfile', '')
-
-function! ale_linters#glsl#glslls#GetCommand(buffer) abort
- let l:logfile = ale#Var(a:buffer, 'glsl_glslls_logfile')
- let l:logfile_args = ''
-
- if l:logfile isnot# ''
- let l:logfile_args = ' --verbose -l ' . l:logfile
- endif
-
- return '%e' . l:logfile_args . ' --stdin'
-endfunction
-
-function! ale_linters#glsl#glslls#GetProjectRoot(buffer) abort
- let l:project_root = ale#c#FindProjectRoot(a:buffer)
-
- return !empty(l:project_root) ? fnamemodify(l:project_root, ':h:h') : ''
-endfunction
-
-call ale#linter#Define('glsl', {
-\ 'name': 'glslls',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'glsl_glslls_executable')},
-\ 'command': function('ale_linters#glsl#glslls#GetCommand'),
-\ 'project_root': function('ale_linters#glsl#glslls#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/bingo.vim b/dot_vim/plugged/ale/ale_linters/go/bingo.vim
deleted file mode 100644
index 1e43f8e..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/bingo.vim
+++ /dev/null
@@ -1,31 +0,0 @@
-" Author: Jerko Steiner
-" Description: https://github.com/saibing/bingo
-
-call ale#Set('go_bingo_executable', 'bingo')
-call ale#Set('go_bingo_options', '--mode stdio')
-
-function! ale_linters#go#bingo#GetCommand(buffer) abort
- return ale#go#EnvString(a:buffer) . '%e' . ale#Pad(ale#Var(a:buffer, 'go_bingo_options'))
-endfunction
-
-function! ale_linters#go#bingo#FindProjectRoot(buffer) abort
- let l:go_modules_off = ale#Var(a:buffer, 'go_go111module') is# 'off'
- let l:project_root = l:go_modules_off ?
- \ '' : ale#path#FindNearestFile(a:buffer, 'go.mod')
- let l:mods = ':h'
-
- if empty(l:project_root)
- let l:project_root = ale#path#FindNearestDirectory(a:buffer, '.git')
- let l:mods = ':h:h'
- endif
-
- return !empty(l:project_root) ? fnamemodify(l:project_root, l:mods) : ''
-endfunction
-
-call ale#linter#Define('go', {
-\ 'name': 'bingo',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'go_bingo_executable')},
-\ 'command': function('ale_linters#go#bingo#GetCommand'),
-\ 'project_root': function('ale_linters#go#bingo#FindProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/cspell.vim b/dot_vim/plugged/ale/ale_linters/go/cspell.vim
deleted file mode 100644
index f986a31..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for Go files.
-
-call ale#handlers#cspell#DefineLinter('go')
diff --git a/dot_vim/plugged/ale/ale_linters/go/gobuild.vim b/dot_vim/plugged/ale/ale_linters/go/gobuild.vim
deleted file mode 100644
index 5210c5a..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/gobuild.vim
+++ /dev/null
@@ -1,57 +0,0 @@
-" Author: Joshua Rubin , Ben Reedy ,
-" Jeff Willette
-" Description: go build for Go files
-" inspired by work from dzhou121
-
-call ale#Set('go_go_executable', 'go')
-call ale#Set('go_gobuild_options', '')
-
-function! ale_linters#go#gobuild#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'go_gobuild_options')
-
- " Run go test in local directory with relative path
- return ale#go#EnvString(a:buffer)
- \ . ale#Var(a:buffer, 'go_go_executable') . ' test'
- \ . (!empty(l:options) ? ' ' . l:options : '')
- \ . ' -c -o /dev/null ./'
-endfunction
-
-function! ale_linters#go#gobuild#GetMatches(lines) abort
- " Matches patterns like the following:
- "
- " file.go:27: missing argument for Printf("%s"): format reads arg 2, have only 1 args
- " file.go:53:10: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary)
- " file.go:5:2: expected declaration, found 'STRING' "log"
- " go test returns relative paths so use tail of filename as part of pattern matcher
- let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):?(\d+)?:? (.+)$'
-
- return ale#util#GetMatches(a:lines, l:pattern)
-endfunction
-
-function! ale_linters#go#gobuild#Handler(buffer, lines) abort
- let l:dir = expand('#' . a:buffer . ':p:h')
- let l:output = []
-
- for l:match in ale_linters#go#gobuild#GetMatches(a:lines)
- call add(l:output, {
- \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]),
- \ 'lnum': l:match[2] + 0,
- \ 'col': l:match[3] + 0,
- \ 'text': l:match[4],
- \ 'type': 'E',
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('go', {
-\ 'name': 'gobuild',
-\ 'aliases': ['go build'],
-\ 'executable': {b -> ale#Var(b, 'go_go_executable')},
-\ 'cwd': '%s:h',
-\ 'command': function('ale_linters#go#gobuild#GetCommand'),
-\ 'output_stream': 'stderr',
-\ 'callback': 'ale_linters#go#gobuild#Handler',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/gofmt.vim b/dot_vim/plugged/ale/ale_linters/go/gofmt.vim
deleted file mode 100644
index b313f9c..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/gofmt.vim
+++ /dev/null
@@ -1,15 +0,0 @@
-" Author: neersighted
-" Description: gofmt for Go files
-
-function! ale_linters#go#gofmt#GetCommand(buffer) abort
- return ale#go#EnvString(a:buffer)
- \ . '%e -e %t'
-endfunction
-
-call ale#linter#Define('go', {
-\ 'name': 'gofmt',
-\ 'output_stream': 'stderr',
-\ 'executable': 'gofmt',
-\ 'command': function('ale_linters#go#gofmt#GetCommand'),
-\ 'callback': 'ale#handlers#unix#HandleAsError',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/golangci_lint.vim b/dot_vim/plugged/ale/ale_linters/go/golangci_lint.vim
deleted file mode 100644
index 80431b9..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/golangci_lint.vim
+++ /dev/null
@@ -1,64 +0,0 @@
-" Author: Sascha Grunert
-" Description: Adds support of golangci-lint
-
-call ale#Set('go_golangci_lint_options', '--enable-all')
-call ale#Set('go_golangci_lint_executable', 'golangci-lint')
-call ale#Set('go_golangci_lint_package', 0)
-
-function! ale_linters#go#golangci_lint#GetCommand(buffer) abort
- let l:filename = expand('#' . a:buffer . ':t')
- let l:options = ale#Var(a:buffer, 'go_golangci_lint_options')
- let l:lint_package = ale#Var(a:buffer, 'go_golangci_lint_package')
-
-
- if l:lint_package
- return ale#go#EnvString(a:buffer)
- \ . '%e run '
- \ . l:options
- endif
-
- return ale#go#EnvString(a:buffer)
- \ . '%e run '
- \ . ale#Escape(l:filename)
- \ . ' ' . l:options
-endfunction
-
-function! ale_linters#go#golangci_lint#GetMatches(lines) abort
- let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):?(\d+)?:?:?:?\s\*?(.+)\s+\((.+)\)$'
-
- return ale#util#GetMatches(a:lines, l:pattern)
-endfunction
-
-function! ale_linters#go#golangci_lint#Handler(buffer, lines) abort
- let l:dir = expand('#' . a:buffer . ':p:h')
- let l:output = []
-
- for l:match in ale_linters#go#golangci_lint#GetMatches(a:lines)
- if l:match[5] is# 'typecheck'
- let l:msg_type = 'E'
- else
- let l:msg_type = 'W'
- endif
-
- " l:match[1] will already be an absolute path, output from
- " golangci_lint
- call add(l:output, {
- \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]),
- \ 'lnum': l:match[2] + 0,
- \ 'col': l:match[3] + 0,
- \ 'type': l:msg_type,
- \ 'text': l:match[4] . ' (' . l:match[5] . ')',
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('go', {
-\ 'name': 'golangci-lint',
-\ 'executable': {b -> ale#Var(b, 'go_golangci_lint_executable')},
-\ 'cwd': '%s:h',
-\ 'command': function('ale_linters#go#golangci_lint#GetCommand'),
-\ 'callback': 'ale_linters#go#golangci_lint#Handler',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/golint.vim b/dot_vim/plugged/ale/ale_linters/go/golint.vim
deleted file mode 100644
index 79bfaeb..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/golint.vim
+++ /dev/null
@@ -1,21 +0,0 @@
-" Author: neersighted
-" Description: golint for Go files
-
-call ale#Set('go_golint_executable', 'golint')
-call ale#Set('go_golint_options', '')
-
-function! ale_linters#go#golint#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'go_golint_options')
-
- return ale#go#EnvString(a:buffer) . '%e'
- \ . (!empty(l:options) ? ' ' . l:options : '')
- \ . ' %t'
-endfunction
-
-call ale#linter#Define('go', {
-\ 'name': 'golint',
-\ 'output_stream': 'both',
-\ 'executable': {b -> ale#Var(b, 'go_golint_executable')},
-\ 'command': function('ale_linters#go#golint#GetCommand'),
-\ 'callback': 'ale#handlers#unix#HandleAsWarning',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/gometalinter.vim b/dot_vim/plugged/ale/ale_linters/go/gometalinter.vim
deleted file mode 100644
index ac33a9f..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/gometalinter.vim
+++ /dev/null
@@ -1,58 +0,0 @@
-" Author: Ben Reedy , Jeff Willette
-" Description: Adds support for the gometalinter suite for Go files
-
-call ale#Set('go_gometalinter_options', '')
-call ale#Set('go_gometalinter_executable', 'gometalinter')
-call ale#Set('go_gometalinter_lint_package', 0)
-
-function! ale_linters#go#gometalinter#GetCommand(buffer) abort
- let l:filename = expand('#' . a:buffer . ':t')
- let l:options = ale#Var(a:buffer, 'go_gometalinter_options')
- let l:lint_package = ale#Var(a:buffer, 'go_gometalinter_lint_package')
-
- " BufferCdString is used so that we can be sure the paths output from gometalinter can
- " be calculated to absolute paths in the Handler
- if l:lint_package
- return ale#go#EnvString(a:buffer)
- \ . '%e'
- \ . (!empty(l:options) ? ' ' . l:options : '') . ' .'
- endif
-
- return ale#go#EnvString(a:buffer)
- \ . '%e'
- \ . ' --include=' . ale#Escape(ale#util#EscapePCRE(l:filename))
- \ . (!empty(l:options) ? ' ' . l:options : '') . ' .'
-endfunction
-
-function! ale_linters#go#gometalinter#GetMatches(lines) abort
- let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):?(\d+)?:?:?(warning|error):?\s\*?(.+)$'
-
- return ale#util#GetMatches(a:lines, l:pattern)
-endfunction
-
-function! ale_linters#go#gometalinter#Handler(buffer, lines) abort
- let l:dir = expand('#' . a:buffer . ':p:h')
- let l:output = []
-
- for l:match in ale_linters#go#gometalinter#GetMatches(a:lines)
- " l:match[1] will already be an absolute path, output from gometalinter
- call add(l:output, {
- \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]),
- \ 'lnum': l:match[2] + 0,
- \ 'col': l:match[3] + 0,
- \ 'type': tolower(l:match[4]) is# 'warning' ? 'W' : 'E',
- \ 'text': l:match[5],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('go', {
-\ 'name': 'gometalinter',
-\ 'executable': {b -> ale#Var(b, 'go_gometalinter_executable')},
-\ 'cwd': '%s:h',
-\ 'command': function('ale_linters#go#gometalinter#GetCommand'),
-\ 'callback': 'ale_linters#go#gometalinter#Handler',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/gopls.vim b/dot_vim/plugged/ale/ale_linters/go/gopls.vim
deleted file mode 100644
index 8090983..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/gopls.vim
+++ /dev/null
@@ -1,39 +0,0 @@
-" Author: w0rp
-" Author: Jerko Steiner
-" Description: https://github.com/saibing/gopls
-
-call ale#Set('go_gopls_executable', 'gopls')
-call ale#Set('go_gopls_options', '--mode stdio')
-call ale#Set('go_gopls_init_options', {})
-call ale#Set('go_gopls_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#go#gopls#GetCommand(buffer) abort
- return ale#go#EnvString(a:buffer)
- \ . '%e'
- \ . ale#Pad(ale#Var(a:buffer, 'go_gopls_options'))
-endfunction
-
-function! ale_linters#go#gopls#FindProjectRoot(buffer) abort
- let l:go_modules_off = ale#Var(a:buffer, 'go_go111module') is# 'off'
- let l:project_root = l:go_modules_off ?
- \ '' : ale#path#FindNearestFile(a:buffer, 'go.mod')
- let l:mods = ':h'
-
- if empty(l:project_root)
- let l:project_root = ale#path#FindNearestDirectory(a:buffer, '.git')
- let l:mods = ':h:h'
- endif
-
- return !empty(l:project_root) ? fnamemodify(l:project_root, l:mods) : ''
-endfunction
-
-call ale#linter#Define('go', {
-\ 'name': 'gopls',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'go_gopls', [
-\ ale#go#GetGoPathExecutable('bin/gopls'),
-\ ])},
-\ 'command': function('ale_linters#go#gopls#GetCommand'),
-\ 'project_root': function('ale_linters#go#gopls#FindProjectRoot'),
-\ 'initialization_options': {b -> ale#Var(b, 'go_gopls_init_options')},
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/gosimple.vim b/dot_vim/plugged/ale/ale_linters/go/gosimple.vim
deleted file mode 100644
index 490d15a..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/gosimple.vim
+++ /dev/null
@@ -1,12 +0,0 @@
-" Author: Ben Reedy
-" Description: gosimple for Go files
-
-call ale#linter#Define('go', {
-\ 'name': 'gosimple',
-\ 'executable': 'gosimple',
-\ 'cwd': '%s:h',
-\ 'command': {b -> ale#go#EnvString(b) . 'gosimple .'},
-\ 'callback': 'ale#handlers#go#Handler',
-\ 'output_stream': 'both',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/gotype.vim b/dot_vim/plugged/ale/ale_linters/go/gotype.vim
deleted file mode 100644
index 8fd6df2..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/gotype.vim
+++ /dev/null
@@ -1,24 +0,0 @@
-" Author: Jelte Fennema
-" Description: gotype for Go files
-
-function! ale_linters#go#gotype#GetExecutable(buffer) abort
- if expand('#' . a:buffer . ':p') =~# '_test\.go$'
- return ''
- endif
-
- return 'gotype'
-endfunction
-
-function! ale_linters#go#gotype#GetCommand(buffer) abort
- return ale#go#EnvString(a:buffer) . 'gotype -e .'
-endfunction
-
-call ale#linter#Define('go', {
-\ 'name': 'gotype',
-\ 'output_stream': 'stderr',
-\ 'executable': function('ale_linters#go#gotype#GetExecutable'),
-\ 'cwd': '%s:h',
-\ 'command': function('ale_linters#go#gotype#GetCommand'),
-\ 'callback': 'ale#handlers#go#Handler',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/govet.vim b/dot_vim/plugged/ale/ale_linters/go/govet.vim
deleted file mode 100644
index 5da8261..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/govet.vim
+++ /dev/null
@@ -1,28 +0,0 @@
-" Author: neersighted
-" Description: go vet for Go files
-"
-" Author: John Eikenberry
-" Description: updated to work with go1.10
-
-call ale#Set('go_go_executable', 'go')
-call ale#Set('go_govet_options', '')
-
-function! ale_linters#go#govet#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'go_govet_options')
-
- return ale#go#EnvString(a:buffer)
- \ . ale#Var(a:buffer, 'go_go_executable') . ' vet '
- \ . (!empty(l:options) ? ' ' . l:options : '')
- \ . ' .'
-endfunction
-
-call ale#linter#Define('go', {
-\ 'name': 'govet',
-\ 'aliases': ['go vet'],
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'go_go_executable')},
-\ 'cwd': '%s:h',
-\ 'command': function('ale_linters#go#govet#GetCommand'),
-\ 'callback': 'ale#handlers#go#Handler',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/langserver.vim b/dot_vim/plugged/ale/ale_linters/go/langserver.vim
deleted file mode 100644
index 7130db4..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/langserver.vim
+++ /dev/null
@@ -1,29 +0,0 @@
-" Author: Horacio Sanson
-" Description: Support for go-langserver https://github.com/sourcegraph/go-langserver
-
-call ale#Set('go_langserver_executable', 'go-langserver')
-call ale#Set('go_langserver_options', '')
-
-function! ale_linters#go#langserver#GetCommand(buffer) abort
- let l:executable = [ale#Escape(ale#Var(a:buffer, 'go_langserver_executable'))]
- let l:options = ale#Var(a:buffer, 'go_langserver_options')
- let l:options = substitute(l:options, '-gocodecompletion', '', 'g')
- let l:options = filter(split(l:options, ' '), 'empty(v:val) != 1')
-
- if ale#Var(a:buffer, 'completion_enabled')
- call add(l:options, '-gocodecompletion')
- endif
-
- let l:options = uniq(sort(l:options))
- let l:env = ale#go#EnvString(a:buffer)
-
- return l:env . join(extend(l:executable, l:options), ' ')
-endfunction
-
-call ale#linter#Define('go', {
-\ 'name': 'golangserver',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'go_langserver_executable')},
-\ 'command': function('ale_linters#go#langserver#GetCommand'),
-\ 'project_root': function('ale#go#FindProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/revive.vim b/dot_vim/plugged/ale/ale_linters/go/revive.vim
deleted file mode 100644
index b14b5ab..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/revive.vim
+++ /dev/null
@@ -1,21 +0,0 @@
-" Author: Penghui Liao
-" Description: Adds support for revive
-
-call ale#Set('go_revive_executable', 'revive')
-call ale#Set('go_revive_options', '')
-
-function! ale_linters#go#revive#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'go_revive_options')
-
- return ale#go#EnvString(a:buffer) . '%e'
- \ . (!empty(l:options) ? ' ' . l:options : '')
- \ . ' %t'
-endfunction
-
-call ale#linter#Define('go', {
-\ 'name': 'revive',
-\ 'output_stream': 'both',
-\ 'executable': {b -> ale#Var(b, 'go_revive_executable')},
-\ 'command': function('ale_linters#go#revive#GetCommand'),
-\ 'callback': 'ale#handlers#unix#HandleAsWarning',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/go/staticcheck.vim b/dot_vim/plugged/ale/ale_linters/go/staticcheck.vim
deleted file mode 100644
index 3662244..0000000
--- a/dot_vim/plugged/ale/ale_linters/go/staticcheck.vim
+++ /dev/null
@@ -1,34 +0,0 @@
-" Author: Ben Reedy
-" Description: staticcheck for Go files
-
-call ale#Set('go_staticcheck_executable', 'staticcheck')
-call ale#Set('go_staticcheck_options', '')
-call ale#Set('go_staticcheck_lint_package', 1)
-call ale#Set('go_staticcheck_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#go#staticcheck#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'go_staticcheck_options')
- let l:lint_package = ale#Var(a:buffer, 'go_staticcheck_lint_package')
- let l:env = ale#go#EnvString(a:buffer)
-
- if l:lint_package
- return l:env . '%e'
- \ . (!empty(l:options) ? ' ' . l:options : '') . ' .'
- endif
-
- return l:env . '%e'
- \ . (!empty(l:options) ? ' ' . l:options : '')
- \ . ' %s:t'
-endfunction
-
-call ale#linter#Define('go', {
-\ 'name': 'staticcheck',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'go_staticcheck', [
-\ ale#go#GetGoPathExecutable('bin/staticcheck'),
-\ ])},
-\ 'cwd': '%s:h',
-\ 'command': function('ale_linters#go#staticcheck#GetCommand'),
-\ 'callback': 'ale#handlers#go#Handler',
-\ 'output_stream': 'both',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/graphql/eslint.vim b/dot_vim/plugged/ale/ale_linters/graphql/eslint.vim
deleted file mode 100644
index a98233e..0000000
--- a/dot_vim/plugged/ale/ale_linters/graphql/eslint.vim
+++ /dev/null
@@ -1,10 +0,0 @@
-" Author: Benjie Gillam
-" Description: eslint for GraphQL files
-
-call ale#linter#Define('graphql', {
-\ 'name': 'eslint',
-\ 'executable': function('ale#handlers#eslint#GetExecutable'),
-\ 'cwd': function('ale#handlers#eslint#GetCwd'),
-\ 'command': function('ale#handlers#eslint#GetCommand'),
-\ 'callback': 'ale#handlers#eslint#HandleJSON',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/graphql/gqlint.vim b/dot_vim/plugged/ale/ale_linters/graphql/gqlint.vim
deleted file mode 100644
index 6f1ca54..0000000
--- a/dot_vim/plugged/ale/ale_linters/graphql/gqlint.vim
+++ /dev/null
@@ -1,10 +0,0 @@
-" Author: Michiel Westerbeek
-" Description: Linter for GraphQL Schemas
-
-call ale#linter#Define('graphql', {
-\ 'name': 'gqlint',
-\ 'executable': 'gqlint',
-\ 'cwd': '%s:h',
-\ 'command': 'gqlint --reporter=simple %t',
-\ 'callback': 'ale#handlers#unix#HandleAsWarning',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/hack/hack.vim b/dot_vim/plugged/ale/ale_linters/hack/hack.vim
deleted file mode 100644
index 822b5c8..0000000
--- a/dot_vim/plugged/ale/ale_linters/hack/hack.vim
+++ /dev/null
@@ -1,22 +0,0 @@
-" Author: Fred Emmott
-" Description: Hack support via `hack lsp`
-
-call ale#Set('hack_hack_executable', 'hh_client')
-
-function! ale_linters#hack#hack#GetProjectRoot(buffer) abort
- let l:hhconfig = ale#path#FindNearestFile(a:buffer, '.hhconfig')
-
- return !empty(l:hhconfig) ? fnamemodify(l:hhconfig, ':h') : ''
-endfunction
-
-function! ale_linters#hack#hack#GetExecutable(buffer) abort
- return ale#Var(a:buffer, 'hack_hack_executable')
-endfunction
-
-call ale#linter#Define('hack', {
-\ 'name': 'hack',
-\ 'lsp': 'stdio',
-\ 'executable': function('ale_linters#hack#hack#GetExecutable'),
-\ 'command': '%e lsp --from vim-ale',
-\ 'project_root': function('ale_linters#hack#hack#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/hack/hhast.vim b/dot_vim/plugged/ale/ale_linters/hack/hhast.vim
deleted file mode 100644
index 5e6d4de..0000000
--- a/dot_vim/plugged/ale/ale_linters/hack/hhast.vim
+++ /dev/null
@@ -1,40 +0,0 @@
-" Author: Fred Emmott
-" Description: Hack support via `hhast lsp`
-
-call ale#Set('hack_hhast_executable', 'vendor/bin/hhast-lint')
-
-function! ale_linters#hack#hhast#GetProjectRoot(buffer) abort
- " Find the hack root, then figure out if it's also an HHAST root.
- " Don't try to use lint configurations from vendor/foo/bar/hhast-lint.json
- let l:hhconfig = ale#path#FindNearestFile(a:buffer, '.hhconfig')
-
- if empty(l:hhconfig)
- return ''
- endif
-
- let l:root = fnamemodify(l:hhconfig, ':h')
- let l:hhast_config = findfile('hhast-lint.json', l:root)
-
- return !empty(l:hhast_config) ? l:root : ''
-endfunction
-
-function! ale_linters#hack#hhast#GetExecutable(buffer) abort
- let l:root = ale_linters#hack#hhast#GetProjectRoot(a:buffer)
- let l:relative = ale#Var(a:buffer, 'hack_hhast_executable')
- let l:absolute = findfile(l:relative, l:root)
-
- return !empty(l:absolute) ? l:absolute : ''
-endfunction
-
-function! ale_linters#hack#hhast#GetInitializationOptions(buffer) abort
- return {'lintMode': 'open-files'}
-endfunction
-
-call ale#linter#Define('hack', {
-\ 'name': 'hhast',
-\ 'lsp': 'stdio',
-\ 'executable': function('ale_linters#hack#hhast#GetExecutable'),
-\ 'command': '%e --mode lsp --from vim-ale',
-\ 'project_root': function('ale_linters#hack#hhast#GetProjectRoot'),
-\ 'initialization_options': function('ale_linters#hack#hhast#GetInitializationOptions'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/haml/hamllint.vim b/dot_vim/plugged/ale/ale_linters/haml/hamllint.vim
deleted file mode 100644
index 9fcd999..0000000
--- a/dot_vim/plugged/ale/ale_linters/haml/hamllint.vim
+++ /dev/null
@@ -1,57 +0,0 @@
-" Author: Patrick Lewis - https://github.com/patricklewis, thenoseman - https://github.com/thenoseman
-" Description: haml-lint for Haml files
-
-call ale#Set('haml_hamllint_executable', 'haml-lint')
-
-function! ale_linters#haml#hamllint#GetExecutable(buffer) abort
- return ale#Var(a:buffer, 'haml_hamllint_executable')
-endfunction
-
-function! ale_linters#haml#hamllint#GetCommand(buffer) abort
- let l:prefix = ''
-
- let l:rubocop_config_file_path = ale#path#FindNearestFile(a:buffer, '.rubocop.yml')
- let l:hamllint_config_file_path = ale#path#FindNearestFile(a:buffer, '.haml-lint.yml')
-
- " Set HAML_LINT_RUBOCOP_CONF variable as it is needed for haml-lint to
- " pick up the rubocop config.
- "
- " See https://github.com/brigade/haml-lint/blob/master/lib/haml_lint/linter/rubocop.rb#L89
- " HamlLint::Linter::RuboCop#rubocop_flags
- if !empty(l:rubocop_config_file_path)
- if has('win32')
- let l:prefix = 'set HAML_LINT_RUBOCOP_CONF=' . ale#Escape(l:rubocop_config_file_path) . ' &&'
- else
- let l:prefix = 'HAML_LINT_RUBOCOP_CONF=' . ale#Escape(l:rubocop_config_file_path)
- endif
- endif
-
- return (!empty(l:prefix) ? l:prefix . ' ' : '')
- \ . ale_linters#haml#hamllint#GetExecutable(a:buffer)
- \ . (!empty(l:hamllint_config_file_path) ? ' --config ' . ale#Escape(l:hamllint_config_file_path) : '')
- \ . ' %t'
-endfunction
-
-function! ale_linters#haml#hamllint#Handle(buffer, lines) abort
- " Matches patterns like the following:
- " :51 [W] RuboCop: Use the new Ruby 1.9 hash syntax.
- let l:pattern = '\v^.*:(\d+) \[([EW])\] (.+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': l:match[1] + 0,
- \ 'type': l:match[2],
- \ 'text': l:match[3]
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('haml', {
-\ 'name': 'hamllint',
-\ 'executable': function('ale_linters#haml#hamllint#GetExecutable'),
-\ 'command': function('ale_linters#haml#hamllint#GetCommand'),
-\ 'callback': 'ale_linters#haml#hamllint#Handle'
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/handlebars/embertemplatelint.vim b/dot_vim/plugged/ale/ale_linters/handlebars/embertemplatelint.vim
deleted file mode 100644
index 17c4d08..0000000
--- a/dot_vim/plugged/ale/ale_linters/handlebars/embertemplatelint.vim
+++ /dev/null
@@ -1,67 +0,0 @@
-" Author: Adrian Zalewski
-" Description: Ember-template-lint for checking Handlebars files
-
-call ale#Set('handlebars_embertemplatelint_executable', 'ember-template-lint')
-call ale#Set('handlebars_embertemplatelint_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#handlebars#embertemplatelint#GetExecutable(buffer) abort
- return ale#path#FindExecutable(a:buffer, 'handlebars_embertemplatelint', [
- \ 'node_modules/.bin/ember-template-lint',
- \])
-endfunction
-
-function! ale_linters#handlebars#embertemplatelint#GetCommand(buffer, version) abort
- if ale#semver#GTE(a:version, [4, 0, 0])
- " --json was removed in favor of --format=json in ember-template-lint@4.0.0
- return '%e --format=json --filename %s'
- endif
-
- if ale#semver#GTE(a:version, [1, 6, 0])
- " Reading from stdin was introduced in ember-template-lint@1.6.0
- return '%e --json --filename %s'
- endif
-
- return '%e --json %t'
-endfunction
-
-function! ale_linters#handlebars#embertemplatelint#GetCommandWithVersionCheck(buffer) abort
- return ale#semver#RunWithVersionCheck(
- \ a:buffer,
- \ ale_linters#handlebars#embertemplatelint#GetExecutable(a:buffer),
- \ '%e --version',
- \ function('ale_linters#handlebars#embertemplatelint#GetCommand'),
- \)
-endfunction
-
-function! ale_linters#handlebars#embertemplatelint#Handle(buffer, lines) abort
- let l:output = []
- let l:json = ale#util#FuzzyJSONDecode(a:lines, {})
-
- for l:error in get(values(l:json), 0, [])
- if has_key(l:error, 'fatal')
- call add(l:output, {
- \ 'lnum': get(l:error, 'line', 1),
- \ 'col': get(l:error, 'column', 1),
- \ 'text': l:error.message,
- \ 'type': l:error.severity == 1 ? 'W' : 'E',
- \})
- else
- call add(l:output, {
- \ 'lnum': l:error.line,
- \ 'col': l:error.column,
- \ 'text': l:error.rule . ': ' . l:error.message,
- \ 'type': l:error.severity == 1 ? 'W' : 'E',
- \})
- endif
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('handlebars', {
-\ 'name': 'embertemplatelint',
-\ 'aliases': ['ember-template-lint'],
-\ 'executable': function('ale_linters#handlebars#embertemplatelint#GetExecutable'),
-\ 'command': function('ale_linters#handlebars#embertemplatelint#GetCommandWithVersionCheck'),
-\ 'callback': 'ale_linters#handlebars#embertemplatelint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/haskell/cabal_ghc.vim b/dot_vim/plugged/ale/ale_linters/haskell/cabal_ghc.vim
deleted file mode 100644
index 1bb31eb..0000000
--- a/dot_vim/plugged/ale/ale_linters/haskell/cabal_ghc.vim
+++ /dev/null
@@ -1,20 +0,0 @@
-" Author: Eric Wolf
-" Description: ghc for Haskell files called with cabal exec
-
-call ale#Set('haskell_cabal_ghc_options', '-fno-code -v0')
-
-function! ale_linters#haskell#cabal_ghc#GetCommand(buffer) abort
- return 'cabal exec -- ghc '
- \ . ale#Var(a:buffer, 'haskell_cabal_ghc_options')
- \ . ' %t'
-endfunction
-
-call ale#linter#Define('haskell', {
-\ 'name': 'cabal_ghc',
-\ 'aliases': ['cabal-ghc'],
-\ 'output_stream': 'stderr',
-\ 'executable': 'cabal',
-\ 'cwd': '%s:h',
-\ 'command': function('ale_linters#haskell#cabal_ghc#GetCommand'),
-\ 'callback': 'ale#handlers#haskell#HandleGHCFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/haskell/cspell.vim b/dot_vim/plugged/ale/ale_linters/haskell/cspell.vim
deleted file mode 100644
index b0971a9..0000000
--- a/dot_vim/plugged/ale/ale_linters/haskell/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for Haskell files.
-
-call ale#handlers#cspell#DefineLinter('haskell')
diff --git a/dot_vim/plugged/ale/ale_linters/haskell/ghc.vim b/dot_vim/plugged/ale/ale_linters/haskell/ghc.vim
deleted file mode 100644
index 9c3906b..0000000
--- a/dot_vim/plugged/ale/ale_linters/haskell/ghc.vim
+++ /dev/null
@@ -1,18 +0,0 @@
-" Author: w0rp
-" Description: ghc for Haskell files
-
-call ale#Set('haskell_ghc_options', '-fno-code -v0')
-
-function! ale_linters#haskell#ghc#GetCommand(buffer) abort
- return 'ghc '
- \ . ale#Var(a:buffer, 'haskell_ghc_options')
- \ . ' %t'
-endfunction
-
-call ale#linter#Define('haskell', {
-\ 'name': 'ghc',
-\ 'output_stream': 'stderr',
-\ 'executable': 'ghc',
-\ 'command': function('ale_linters#haskell#ghc#GetCommand'),
-\ 'callback': 'ale#handlers#haskell#HandleGHCFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/haskell/ghc_mod.vim b/dot_vim/plugged/ale/ale_linters/haskell/ghc_mod.vim
deleted file mode 100644
index 30e96b4..0000000
--- a/dot_vim/plugged/ale/ale_linters/haskell/ghc_mod.vim
+++ /dev/null
@@ -1,19 +0,0 @@
-" Author: wizzup
-" Description: ghc-mod for Haskell files
-
-call ale#Set('haskell_ghc_mod_executable', 'ghc-mod')
-
-function! ale_linters#haskell#ghc_mod#GetCommand (buffer) abort
- let l:executable = ale#Var(a:buffer, 'haskell_ghc_mod_executable')
-
- return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'ghc-mod')
- \ . ' --map-file %s=%t check %s'
-endfunction
-
-call ale#linter#Define('haskell', {
-\ 'name': 'ghc_mod',
-\ 'aliases': ['ghc-mod'],
-\ 'executable': {b -> ale#Var(b, 'haskell_ghc_mod_executable')},
-\ 'command': function('ale_linters#haskell#ghc_mod#GetCommand'),
-\ 'callback': 'ale#handlers#haskell#HandleGHCFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/haskell/hdevtools.vim b/dot_vim/plugged/ale/ale_linters/haskell/hdevtools.vim
deleted file mode 100644
index 3e55e4f..0000000
--- a/dot_vim/plugged/ale/ale_linters/haskell/hdevtools.vim
+++ /dev/null
@@ -1,20 +0,0 @@
-" Author: rob-b, Takano Akio
-" Description: hdevtools for Haskell files
-
-call ale#Set('haskell_hdevtools_executable', 'hdevtools')
-call ale#Set('haskell_hdevtools_options', get(g:, 'hdevtools_options', '-g -Wall'))
-
-function! ale_linters#haskell#hdevtools#GetCommand(buffer) abort
- let l:executable = ale#Var(a:buffer, 'haskell_hdevtools_executable')
-
- return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'hdevtools')
- \ . ' check' . ale#Pad(ale#Var(a:buffer, 'haskell_hdevtools_options'))
- \ . ' -p %s %t'
-endfunction
-
-call ale#linter#Define('haskell', {
-\ 'name': 'hdevtools',
-\ 'executable': {b -> ale#Var(b, 'haskell_hdevtools_executable')},
-\ 'command': function('ale_linters#haskell#hdevtools#GetCommand'),
-\ 'callback': 'ale#handlers#haskell#HandleGHCFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/haskell/hie.vim b/dot_vim/plugged/ale/ale_linters/haskell/hie.vim
deleted file mode 100644
index c4b5f1d..0000000
--- a/dot_vim/plugged/ale/ale_linters/haskell/hie.vim
+++ /dev/null
@@ -1,41 +0,0 @@
-" Author: Luxed
-" Description: A language server for Haskell
-
-call ale#Set('haskell_hie_executable', 'hie')
-
-function! ale_linters#haskell#hie#GetProjectRoot(buffer) abort
- " Search for the stack file first
- let l:project_file = ale#path#FindNearestFile(a:buffer, 'stack.yaml')
-
- " If it's empty, search for the cabal file
- if empty(l:project_file)
- " Search all of the paths except for the root filesystem path.
- let l:paths = join(
- \ ale#path#Upwards(expand('#' . a:buffer . ':p:h'))[:-2],
- \ ','
- \)
- let l:project_file = globpath(l:paths, '*.cabal')
- endif
-
- " If we still can't find one, use the current file.
- if empty(l:project_file)
- let l:project_file = expand('#' . a:buffer . ':p')
- endif
-
- return fnamemodify(l:project_file, ':h')
-endfunction
-
-function! ale_linters#haskell#hie#GetCommand(buffer) abort
- let l:executable = ale#Var(a:buffer, 'haskell_hie_executable')
-
- return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'hie')
- \ . ' --lsp'
-endfunction
-
-call ale#linter#Define('haskell', {
-\ 'name': 'hie',
-\ 'lsp': 'stdio',
-\ 'command': function('ale_linters#haskell#hie#GetCommand'),
-\ 'executable': {b -> ale#Var(b, 'haskell_hie_executable')},
-\ 'project_root': function('ale_linters#haskell#hie#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/haskell/hlint.vim b/dot_vim/plugged/ale/ale_linters/haskell/hlint.vim
deleted file mode 100644
index 1425251..0000000
--- a/dot_vim/plugged/ale/ale_linters/haskell/hlint.vim
+++ /dev/null
@@ -1,46 +0,0 @@
-" Author: jparoz
-" Description: hlint for Haskell files
-
-call ale#Set('haskell_hlint_executable', 'hlint')
-call ale#Set('haskell_hlint_options', get(g:, 'hlint_options', ''))
-
-function! ale_linters#haskell#hlint#Handle(buffer, lines) abort
- let l:output = []
-
- for l:error in ale#util#FuzzyJSONDecode(a:lines, [])
- if l:error.severity is# 'Error'
- let l:type = 'E'
- elseif l:error.severity is# 'Suggestion'
- let l:type = 'I'
- else
- let l:type = 'W'
- endif
-
- call add(l:output, {
- \ 'lnum': str2nr(l:error.startLine),
- \ 'col': str2nr(l:error.startColumn),
- \ 'end_lnum': str2nr(l:error.endLine),
- \ 'end_col': str2nr(l:error.endColumn),
- \ 'text': l:error.severity . ': ' . l:error.hint . '. Found: ' . l:error.from . ' Why not: ' . l:error.to,
- \ 'type': l:type,
- \})
- endfor
-
- return l:output
-endfunction
-
-function! ale_linters#haskell#hlint#GetCommand(buffer) abort
- let l:hlintopts = '--color=never --json'
-
- return ale#handlers#hlint#GetExecutable(a:buffer)
- \ . ' ' . ale#Var(a:buffer, 'haskell_hlint_options')
- \ . ' ' . l:hlintopts
- \ . ' -'
-endfunction
-
-call ale#linter#Define('haskell', {
-\ 'name': 'hlint',
-\ 'executable': {b -> ale#Var(b, 'haskell_hlint_executable')},
-\ 'command': function('ale_linters#haskell#hlint#GetCommand') ,
-\ 'callback': 'ale_linters#haskell#hlint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/haskell/hls.vim b/dot_vim/plugged/ale/ale_linters/haskell/hls.vim
deleted file mode 100644
index 7f9efc3..0000000
--- a/dot_vim/plugged/ale/ale_linters/haskell/hls.vim
+++ /dev/null
@@ -1,65 +0,0 @@
-" Author: Yen3
-" Description: A language server for haskell
-" The file is based on hie.vim (author: Luxed
-" ). It search more project root files.
-"
-call ale#Set('haskell_hls_executable', 'haskell-language-server-wrapper')
-call ale#Set('haskell_hls_config', {})
-
-function! ale_linters#haskell#hls#FindRootFile(buffer) abort
- let l:serach_root_files = [
- \ 'stack.yaml',
- \ 'cabal.project',
- \ 'package.yaml',
- \ 'hie.yaml'
- \ ]
-
- for l:path in ale#path#Upwards(expand('#' . a:buffer . ':p:h'))
- for l:root_file in l:serach_root_files
- if filereadable(l:path . l:root_file)
- return l:path
- endif
- endfor
- endfor
-
- return ''
-endfunction
-
-function! ale_linters#haskell#hls#GetProjectRoot(buffer) abort
- " Search for the project file first
- let l:project_file = ale_linters#haskell#hls#FindRootFile(a:buffer)
-
- " If it's empty, search for the cabal file
- if empty(l:project_file)
- " Search all of the paths except for the root filesystem path.
- let l:paths = join(
- \ ale#path#Upwards(expand('#' . a:buffer . ':p:h'))[:-2],
- \ ','
- \)
- let l:project_file = globpath(l:paths, '*.cabal')
- endif
-
- " If we still can't find one, use the current file.
- if empty(l:project_file)
- let l:project_file = expand('#' . a:buffer . ':p')
- endif
-
- return fnamemodify(l:project_file, ':h')
-endfunction
-
-function! ale_linters#haskell#hls#GetCommand(buffer) abort
- let l:executable = ale#Var(a:buffer, 'haskell_hls_executable')
-
- return ale#handlers#haskell_stack#EscapeExecutable(l:executable,
- \ 'haskell-language-server-wrapper')
- \ . ' --lsp'
-endfunction
-
-call ale#linter#Define('haskell', {
-\ 'name': 'hls',
-\ 'lsp': 'stdio',
-\ 'command': function('ale_linters#haskell#hls#GetCommand'),
-\ 'executable': {b -> ale#Var(b, 'haskell_hls_executable')},
-\ 'project_root': function('ale_linters#haskell#hls#GetProjectRoot'),
-\ 'lsp_config': {b -> ale#Var(b, 'haskell_hls_config')},
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/haskell/stack_build.vim b/dot_vim/plugged/ale/ale_linters/haskell/stack_build.vim
deleted file mode 100644
index 8f2d9fd..0000000
--- a/dot_vim/plugged/ale/ale_linters/haskell/stack_build.vim
+++ /dev/null
@@ -1,23 +0,0 @@
-" Author: Jake Zimmerman
-" Description: Like stack-ghc, but for entire projects
-"
-" Note: Ideally, this would *only* typecheck. Right now, it also does codegen.
-" See .
-
-call ale#Set('haskell_stack_build_options', '--fast')
-
-function! ale_linters#haskell#stack_build#GetCommand(buffer) abort
- let l:flags = ale#Var(a:buffer, 'haskell_stack_build_options')
-
- return 'stack build ' . l:flags
-endfunction
-
-call ale#linter#Define('haskell', {
-\ 'name': 'stack_build',
-\ 'aliases': ['stack-build'],
-\ 'output_stream': 'stderr',
-\ 'executable': function('ale#handlers#haskell#GetStackExecutable'),
-\ 'command': function('ale_linters#haskell#stack_build#GetCommand'),
-\ 'lint_file': 1,
-\ 'callback': 'ale#handlers#haskell#HandleGHCFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/haskell/stack_ghc.vim b/dot_vim/plugged/ale/ale_linters/haskell/stack_ghc.vim
deleted file mode 100644
index 51ecc74..0000000
--- a/dot_vim/plugged/ale/ale_linters/haskell/stack_ghc.vim
+++ /dev/null
@@ -1,21 +0,0 @@
-" Author: w0rp
-" Description: ghc for Haskell files, using Stack
-
-call ale#Set('haskell_stack_ghc_options', '-fno-code -v0')
-
-function! ale_linters#haskell#stack_ghc#GetCommand(buffer) abort
- return ale#handlers#haskell#GetStackExecutable(a:buffer)
- \ . ' ghc -- '
- \ . ale#Var(a:buffer, 'haskell_stack_ghc_options')
- \ . ' %t'
-endfunction
-
-call ale#linter#Define('haskell', {
-\ 'name': 'stack_ghc',
-\ 'aliases': ['stack-ghc'],
-\ 'output_stream': 'stderr',
-\ 'executable': function('ale#handlers#haskell#GetStackExecutable'),
-\ 'cwd': '%s:h',
-\ 'command': function('ale_linters#haskell#stack_ghc#GetCommand'),
-\ 'callback': 'ale#handlers#haskell#HandleGHCFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/help/alex.vim b/dot_vim/plugged/ale/ale_linters/help/alex.vim
deleted file mode 100644
index 9be00a8..0000000
--- a/dot_vim/plugged/ale/ale_linters/help/alex.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Author: Johannes Wienke
-" Description: alex for help files
-
-call ale#handlers#alex#DefineLinter('help', '--text')
diff --git a/dot_vim/plugged/ale/ale_linters/help/cspell.vim b/dot_vim/plugged/ale/ale_linters/help/cspell.vim
deleted file mode 100644
index 92eb950..0000000
--- a/dot_vim/plugged/ale/ale_linters/help/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for help files.
-
-call ale#handlers#cspell#DefineLinter('help')
diff --git a/dot_vim/plugged/ale/ale_linters/help/proselint.vim b/dot_vim/plugged/ale/ale_linters/help/proselint.vim
deleted file mode 100644
index 6212450..0000000
--- a/dot_vim/plugged/ale/ale_linters/help/proselint.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: Daniel M. Capella https://github.com/polyzen
-" Description: proselint for Vim help files
-
-call ale#linter#Define('help', {
-\ 'name': 'proselint',
-\ 'executable': 'proselint',
-\ 'command': 'proselint %t',
-\ 'callback': 'ale#handlers#unix#HandleAsWarning',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/help/writegood.vim b/dot_vim/plugged/ale/ale_linters/help/writegood.vim
deleted file mode 100644
index eeb21a7..0000000
--- a/dot_vim/plugged/ale/ale_linters/help/writegood.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Author: Sumner Evans
-" Description: write-good for vim Help files
-
-call ale#handlers#writegood#DefineLinter('help')
diff --git a/dot_vim/plugged/ale/ale_linters/html/alex.vim b/dot_vim/plugged/ale/ale_linters/html/alex.vim
deleted file mode 100644
index 9775675..0000000
--- a/dot_vim/plugged/ale/ale_linters/html/alex.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Author: Johannes Wienke
-" Description: alex for HTML files
-
-call ale#handlers#alex#DefineLinter('html', '--html')
diff --git a/dot_vim/plugged/ale/ale_linters/html/angular.vim b/dot_vim/plugged/ale/ale_linters/html/angular.vim
deleted file mode 100644
index 4f368fb..0000000
--- a/dot_vim/plugged/ale/ale_linters/html/angular.vim
+++ /dev/null
@@ -1,56 +0,0 @@
-" Author: w0rp
-" Description: tsserver integration for ALE
-
-call ale#Set('html_angular_executable', 'ngserver')
-call ale#Set('html_angular_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#html#angular#GetProjectRoot(buffer) abort
- return ale#path#Dirname(
- \ ale#path#FindNearestDirectory(a:buffer, 'node_modules')
- \)
-endfunction
-
-function! ale_linters#html#angular#GetExecutable(buffer) abort
- return 'node'
-endfunction
-
-function! ale_linters#html#angular#GetCommand(buffer) abort
- let l:language_service_dir = ale#path#Simplify(
- \ ale#path#FindNearestDirectory(
- \ a:buffer,
- \ 'node_modules/@angular/language-service'
- \ )
- \)
-
- if empty(l:language_service_dir)
- return ''
- endif
-
- let l:language_service_dir = fnamemodify(l:language_service_dir, ':h')
- let l:typescript_dir = ale#path#Simplify(
- \ fnamemodify(l:language_service_dir, ':h:h')
- \ . '/typescript'
- \)
- let l:script = ale#path#FindExecutable(a:buffer, 'html_angular', [
- \ 'node_modules/@angular/language-server/bin/ngserver',
- \ 'node_modules/@angular/language-server/index.js',
- \])
-
- if !filereadable(l:script)
- return ''
- endif
-
- return ale#Escape('node') . ' ' . ale#Escape(l:script)
- \ . ' --ngProbeLocations ' . ale#Escape(l:language_service_dir)
- \ . ' --tsProbeLocations ' . ale#Escape(l:typescript_dir)
- \ . ' --stdio'
-endfunction
-
-call ale#linter#Define('html', {
-\ 'name': 'angular',
-\ 'aliases': ['angular-language-server'],
-\ 'lsp': 'stdio',
-\ 'executable': function('ale_linters#html#angular#GetExecutable'),
-\ 'command': function('ale_linters#html#angular#GetCommand'),
-\ 'project_root': function('ale_linters#html#angular#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/html/cspell.vim b/dot_vim/plugged/ale/ale_linters/html/cspell.vim
deleted file mode 100644
index 743350e..0000000
--- a/dot_vim/plugged/ale/ale_linters/html/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for HTML files.
-
-call ale#handlers#cspell#DefineLinter('html')
diff --git a/dot_vim/plugged/ale/ale_linters/html/fecs.vim b/dot_vim/plugged/ale/ale_linters/html/fecs.vim
deleted file mode 100644
index 15e00e1..0000000
--- a/dot_vim/plugged/ale/ale_linters/html/fecs.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: harttle
-" Description: fecs for HTMl files
-
-call ale#linter#Define('html', {
-\ 'name': 'fecs',
-\ 'executable': function('ale#handlers#fecs#GetExecutable'),
-\ 'command': function('ale#handlers#fecs#GetCommand'),
-\ 'callback': 'ale#handlers#fecs#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/html/htmlhint.vim b/dot_vim/plugged/ale/ale_linters/html/htmlhint.vim
deleted file mode 100644
index 25bf513..0000000
--- a/dot_vim/plugged/ale/ale_linters/html/htmlhint.vim
+++ /dev/null
@@ -1,32 +0,0 @@
-" Author: KabbAmine , deathmaz <00maz1987@gmail.com>, diartyz
-" Description: HTMLHint for checking html files
-
-call ale#Set('html_htmlhint_options', '')
-call ale#Set('html_htmlhint_executable', 'htmlhint')
-call ale#Set('html_htmlhint_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#html#htmlhint#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'html_htmlhint_options')
- let l:config = l:options !~# '--config'
- \ ? ale#path#FindNearestFile(a:buffer, '.htmlhintrc')
- \ : ''
-
- if !empty(l:config)
- let l:options .= ' --config ' . ale#Escape(l:config)
- endif
-
- if !empty(l:options)
- let l:options = substitute(l:options, '--format=unix', '', '')
- endif
-
- return '%e' . ale#Pad(l:options) . ' --format=unix %t'
-endfunction
-
-call ale#linter#Define('html', {
-\ 'name': 'htmlhint',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'html_htmlhint', [
-\ 'node_modules/.bin/htmlhint',
-\ ])},
-\ 'command': function('ale_linters#html#htmlhint#GetCommand'),
-\ 'callback': 'ale#handlers#unix#HandleAsError',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/html/proselint.vim b/dot_vim/plugged/ale/ale_linters/html/proselint.vim
deleted file mode 100644
index 9fd7d67..0000000
--- a/dot_vim/plugged/ale/ale_linters/html/proselint.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: Daniel M. Capella https://github.com/polyzen
-" Description: proselint for HTML files
-
-call ale#linter#Define('html', {
-\ 'name': 'proselint',
-\ 'executable': 'proselint',
-\ 'command': 'proselint %t',
-\ 'callback': 'ale#handlers#unix#HandleAsWarning',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/html/stylelint.vim b/dot_vim/plugged/ale/ale_linters/html/stylelint.vim
deleted file mode 100644
index 6b7aba4..0000000
--- a/dot_vim/plugged/ale/ale_linters/html/stylelint.vim
+++ /dev/null
@@ -1,27 +0,0 @@
-" Author: Filipe Kiss http://github.com/filipekiss
-
-call ale#Set('html_stylelint_executable', 'stylelint')
-call ale#Set('html_stylelint_options', '')
-call ale#Set('html_stylelint_use_global', 0)
-
-function! ale_linters#html#stylelint#GetExecutable(buffer) abort
- return ale#path#FindExecutable(a:buffer, 'html_stylelint', [
- \ 'node_modules/.bin/stylelint',
- \])
-endfunction
-
-function! ale_linters#html#stylelint#GetCommand(buffer) abort
- let l:executable = ale_linters#html#stylelint#GetExecutable(a:buffer)
- let l:options = ale#Var(a:buffer, 'html_stylelint_options')
-
- return ale#Escape(l:executable)
- \ . (!empty(l:options) ? ' ' . l:options : '')
- \ . ' --stdin-filename %s'
-endfunction
-
-call ale#linter#Define('html', {
-\ 'name': 'stylelint',
-\ 'executable': function('ale_linters#html#stylelint#GetExecutable'),
-\ 'command': function('ale_linters#html#stylelint#GetCommand'),
-\ 'callback': 'ale#handlers#css#HandleStyleLintFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/html/tidy.vim b/dot_vim/plugged/ale/ale_linters/html/tidy.vim
deleted file mode 100644
index 1e476d4..0000000
--- a/dot_vim/plugged/ale/ale_linters/html/tidy.vim
+++ /dev/null
@@ -1,70 +0,0 @@
-" Author: KabbAmine
-" Description: This file adds support for checking HTML code with tidy.
-
-let g:ale_html_tidy_executable = get(g:, 'ale_html_tidy_executable', 'tidy')
-let g:ale_html_tidy_options = get(g:, 'ale_html_tidy_options', '-q -e -language en')
-
-function! ale_linters#html#tidy#GetCommand(buffer) abort
- " Specify file encoding in options
- " (Idea taken from https://github.com/scrooloose/syntastic/blob/master/syntax_checkers/html/tidy.vim)
- let l:file_encoding = get({
- \ 'ascii': '-ascii',
- \ 'big5': '-big5',
- \ 'cp1252': '-win1252',
- \ 'cp850': '-ibm858',
- \ 'cp932': '-shiftjis',
- \ 'iso-2022-jp': '-iso-2022',
- \ 'latin1': '-latin1',
- \ 'macroman': '-mac',
- \ 'sjis': '-shiftjis',
- \ 'utf-16le': '-utf16le',
- \ 'utf-16': '-utf16',
- \ 'utf-8': '-utf8',
- \ }, &fileencoding, '-utf8')
-
- " On macOS, old tidy (released on 31 Oct 2006) is installed. It does not
- " consider HTML5 so we should avoid it.
- let l:executable = ale#Var(a:buffer, 'html_tidy_executable')
-
- if has('mac') && l:executable is# 'tidy' && exists('*exepath')
- \ && exepath(l:executable) is# '/usr/bin/tidy'
- return ''
- endif
-
- return printf('%s %s %s -',
- \ l:executable,
- \ ale#Var(a:buffer, 'html_tidy_options'),
- \ l:file_encoding
- \)
-endfunction
-
-function! ale_linters#html#tidy#Handle(buffer, lines) abort
- " Matches patterns lines like the following:
- " line 7 column 5 - Warning: missing before
- let l:pattern = '^line \(\d\+\) column \(\d\+\) - \(Warning\|Error\): \(.\+\)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:line = l:match[1] + 0
- let l:col = l:match[2] + 0
- let l:type = l:match[3] is# 'Error' ? 'E' : 'W'
- let l:text = l:match[4]
-
- call add(l:output, {
- \ 'lnum': l:line,
- \ 'col': l:col,
- \ 'text': l:text,
- \ 'type': l:type,
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('html', {
-\ 'name': 'tidy',
-\ 'executable': {b -> ale#Var(b, 'html_tidy_executable')},
-\ 'output_stream': 'stderr',
-\ 'command': function('ale_linters#html#tidy#GetCommand'),
-\ 'callback': 'ale_linters#html#tidy#Handle',
-\ })
diff --git a/dot_vim/plugged/ale/ale_linters/html/vscodehtml.vim b/dot_vim/plugged/ale/ale_linters/html/vscodehtml.vim
deleted file mode 100644
index 46814a0..0000000
--- a/dot_vim/plugged/ale/ale_linters/html/vscodehtml.vim
+++ /dev/null
@@ -1,16 +0,0 @@
-" Author: Dalius Dobravolskas
-" Description: VSCode html language server
-
-function! ale_linters#html#vscodehtml#GetProjectRoot(buffer) abort
- let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git')
-
- return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : ''
-endfunction
-
-call ale#linter#Define('html', {
-\ 'name': 'vscodehtml',
-\ 'lsp': 'stdio',
-\ 'executable': 'vscode-html-language-server',
-\ 'command': '%e --stdio',
-\ 'project_root': function('ale_linters#html#vscodehtml#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/html/writegood.vim b/dot_vim/plugged/ale/ale_linters/html/writegood.vim
deleted file mode 100644
index 6a2bd8e..0000000
--- a/dot_vim/plugged/ale/ale_linters/html/writegood.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Author: Sumner Evans
-" Description: write-good for html files
-
-call ale#handlers#writegood#DefineLinter('html')
diff --git a/dot_vim/plugged/ale/ale_linters/idris/idris.vim b/dot_vim/plugged/ale/ale_linters/idris/idris.vim
deleted file mode 100644
index 879e92f..0000000
--- a/dot_vim/plugged/ale/ale_linters/idris/idris.vim
+++ /dev/null
@@ -1,81 +0,0 @@
-" Author: Scott Bonds
-" Description: default Idris compiler
-
-call ale#Set('idris_idris_executable', 'idris')
-call ale#Set('idris_idris_options', '--total --warnpartial --warnreach --warnipkg')
-
-function! ale_linters#idris#idris#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'idris_idris_options')
-
- return '%e' . ale#Pad(l:options) . ' --check %s'
-endfunction
-
-function! ale_linters#idris#idris#Handle(buffer, lines) abort
- " This was copied almost verbatim from ale#handlers#haskell#HandleGHCFormat
- "
- " Look for lines like the following:
- " foo.idr:2:6:When checking right hand side of main with expected type
- " bar.idr:11:11-13:
- let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+)(-\d+)?:(.*)?$'
- let l:output = []
-
- let l:corrected_lines = []
-
- for l:line in a:lines
- if len(matchlist(l:line, l:pattern)) > 0
- call add(l:corrected_lines, l:line)
- elseif len(l:corrected_lines) > 0
- if l:line is# ''
- let l:corrected_lines[-1] .= ' ' " turn a blank line into a space
- else
- let l:corrected_lines[-1] .= l:line
- endif
-
- let l:corrected_lines[-1] = substitute(l:corrected_lines[-1], '\s\+', ' ', 'g')
- endif
- endfor
-
- for l:line in l:corrected_lines
- let l:match = matchlist(l:line, l:pattern)
-
- if len(l:match) == 0
- continue
- endif
-
- if !ale#path#IsBufferPath(a:buffer, l:match[1])
- continue
- endif
-
- let l:errors = matchlist(l:match[5], '\v([wW]arning|[eE]rror) - ?(.*)')
-
- if len(l:errors) > 0
- let l:ghc_type = l:errors[1]
- let l:text = l:errors[2]
- else
- let l:ghc_type = ''
- let l:text = l:match[5][:0] is# ' ' ? l:match[5][1:] : l:match[5]
- endif
-
- if l:ghc_type is? 'Warning'
- let l:type = 'W'
- else
- let l:type = 'E'
- endif
-
- call add(l:output, {
- \ 'lnum': l:match[2] + 0,
- \ 'col': l:match[3] + 0,
- \ 'text': l:text,
- \ 'type': l:type,
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('idris', {
-\ 'name': 'idris',
-\ 'executable': {b -> ale#Var(b, 'idris_idris_executable')},
-\ 'command': function('ale_linters#idris#idris#GetCommand'),
-\ 'callback': 'ale_linters#idris#idris#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/ink/ls.vim b/dot_vim/plugged/ale/ale_linters/ink/ls.vim
deleted file mode 100644
index 00b2f32..0000000
--- a/dot_vim/plugged/ale/ale_linters/ink/ls.vim
+++ /dev/null
@@ -1,35 +0,0 @@
-" Author: Andreww Hayworth
-" Description: Integrate ALE with ink-language-server
-
-call ale#Set('ink_ls_executable', 'ink-language-server')
-call ale#Set('ink_ls_use_global', get(g:, 'ale_use_global_executables', 0))
-call ale#Set('ink_ls_initialization_options', {})
-
-function! ale_linters#ink#ls#GetExecutable(buffer) abort
- return ale#path#FindExecutable(a:buffer, 'ink_ls', [
- \ 'ink-language-server',
- \ 'node_modules/.bin/ink-language-server',
- \])
-endfunction
-
-function! ale_linters#ink#ls#GetCommand(buffer) abort
- let l:executable = ale_linters#ink#ls#GetExecutable(a:buffer)
-
- return ale#Escape(l:executable) . ' --stdio'
-endfunction
-
-function! ale_linters#ink#ls#FindProjectRoot(buffer) abort
- let l:main_file = get(ale#Var(a:buffer, 'ink_ls_initialization_options'), 'mainStoryPath', 'main.ink')
- let l:config = ale#path#ResolveLocalPath(a:buffer, l:main_file, expand('#' . a:buffer . ':p'))
-
- return ale#path#Dirname(l:config)
-endfunction
-
-call ale#linter#Define('ink', {
-\ 'name': 'ink-language-server',
-\ 'lsp': 'stdio',
-\ 'executable': function('ale_linters#ink#ls#GetExecutable'),
-\ 'command': function('ale_linters#ink#ls#GetCommand'),
-\ 'project_root': function('ale_linters#ink#ls#FindProjectRoot'),
-\ 'initialization_options': {b -> ale#Var(b, 'ink_ls_initialization_options')},
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/inko/inko.vim b/dot_vim/plugged/ale/ale_linters/inko/inko.vim
deleted file mode 100644
index 1155889..0000000
--- a/dot_vim/plugged/ale/ale_linters/inko/inko.vim
+++ /dev/null
@@ -1,33 +0,0 @@
-" Author: Yorick Peterse
-" Description: linting of Inko source code using the Inko compiler
-
-call ale#Set('inko_inko_executable', 'inko')
-
-function! ale_linters#inko#inko#GetCommand(buffer) abort
- let l:include = ''
-
- " Include the tests source directory, but only for test files.
- if expand('#' . a:buffer . ':p') =~? '\vtests[/\\]test[/\\]'
- let l:test_dir = ale#path#FindNearestDirectory(a:buffer, 'tests')
-
- if isdirectory(l:test_dir)
- let l:include = '--include ' . ale#Escape(l:test_dir)
- endif
- endif
-
- " We use %s instead of %t so the compiler determines the correct module
- " names for the file being edited. Not doing so may lead to errors in
- " certain cases.
- return '%e build --check --format=json'
- \ . ale#Pad(l:include)
- \ . ' %s'
-endfunction
-
-call ale#linter#Define('inko', {
-\ 'name': 'inko',
-\ 'executable': {b -> ale#Var(b, 'inko_inko_executable')},
-\ 'command': function('ale_linters#inko#inko#GetCommand'),
-\ 'callback': 'ale#handlers#inko#Handle',
-\ 'output_stream': 'stderr',
-\ 'lint_file': 1
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/ispc/ispc.vim b/dot_vim/plugged/ale/ale_linters/ispc/ispc.vim
deleted file mode 100644
index eb36511..0000000
--- a/dot_vim/plugged/ale/ale_linters/ispc/ispc.vim
+++ /dev/null
@@ -1,45 +0,0 @@
-" Author: Martino Pilia
-" Description: Lint ispc files with the Intel(R) SPMD Program Compiler
-
-call ale#Set('ispc_ispc_executable', 'ispc')
-call ale#Set('ispc_ispc_options', '')
-
-function! ale_linters#ispc#ispc#GetCommand(buffer) abort
- " --nowrap: do not wrap message lines
- return '%e --nowrap'
- \ . ale#Pad(ale#c#IncludeOptions(ale#c#FindLocalHeaderPaths(a:buffer)))
- \ . ale#Pad(ale#Var(a:buffer, 'ispc_ispc_options'))
- \ . ' %s'
-endfunction
-
-" Note that we ignore the two warnings in the beginning of the compiler output
-" ('no output file specified' and 'no --target specified'), since they have
-" nothing to do with linting.
-function! ale_linters#ispc#ispc#Handle(buffer, lines) abort
- " Message format: :: :
- " As far as I know, can be any of:
- " 'error', 'Error', 'fatal error', 'Warning', 'Performance Warning'
- let l:re = '\v.+:([0-9]+):([0-9]+):\s+([^:]+):\s+(.+)'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:re)
- call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': str2nr(l:match[1]),
- \ 'col': str2nr(l:match[2]),
- \ 'type': l:match[3] =~? 'error' ? 'E' : 'W',
- \ 'text': l:match[4],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('ispc', {
-\ 'name': 'ispc',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'ispc_ispc_executable')},
-\ 'command': function('ale_linters#ispc#ispc#GetCommand'),
-\ 'callback': 'ale_linters#ispc#ispc#Handle',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/java/checkstyle.vim b/dot_vim/plugged/ale/ale_linters/java/checkstyle.vim
deleted file mode 100644
index 1ccbc50..0000000
--- a/dot_vim/plugged/ale/ale_linters/java/checkstyle.vim
+++ /dev/null
@@ -1,73 +0,0 @@
-" Author: Devon Meunier
-" Description: checkstyle for Java files
-
-call ale#Set('java_checkstyle_executable', 'checkstyle')
-call ale#Set('java_checkstyle_config', '/google_checks.xml')
-call ale#Set('java_checkstyle_options', '')
-
-function! ale_linters#java#checkstyle#Handle(buffer, lines) abort
- let l:output = []
-
- " modern checkstyle versions
- let l:pattern = '\v\[(WARN|ERROR)\] [a-zA-Z]?:?[^:]+:(\d+):(\d+)?:? (.*) \[(.+)\]'
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'type': l:match[1] is? 'WARN' ? 'W' : 'E',
- \ 'sub_type': 'style',
- \ 'lnum': l:match[2] + 0,
- \ 'col': l:match[3] + 0,
- \ 'text': l:match[4],
- \ 'code': l:match[5],
- \})
- endfor
-
- if !empty(l:output)
- return l:output
- endif
-
- " old checkstyle versions
- let l:pattern = '\v(.+):(\d+): ([^:]+): (.+)$'
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'type': l:match[3] is? 'warning' ? 'W' : 'E',
- \ 'sub_type': 'style',
- \ 'lnum': l:match[2] + 0,
- \ 'text': l:match[4],
- \})
- endfor
-
- return l:output
-endfunction
-
-function! s:GetConfig(buffer, config) abort
- if ale#path#IsAbsolute(a:config)
- return a:config
- endif
-
- let s:file = ale#path#FindNearestFile(a:buffer, a:config)
-
- return !empty(s:file) ? s:file : a:config
-endfunction
-
-function! ale_linters#java#checkstyle#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'java_checkstyle_options')
- let l:config_option = ale#Var(a:buffer, 'java_checkstyle_config')
- let l:config = l:options !~# '\v(^| )-c ' && !empty(l:config_option)
- \ ? s:GetConfig(a:buffer, l:config_option)
- \ : ''
-
- return '%e'
- \ . ale#Pad(l:options)
- \ . (!empty(l:config) ? ' -c ' . ale#Escape(l:config) : '')
- \ . ' %s'
-endfunction
-
-call ale#linter#Define('java', {
-\ 'name': 'checkstyle',
-\ 'executable': {b -> ale#Var(b, 'java_checkstyle_executable')},
-\ 'command': function('ale_linters#java#checkstyle#GetCommand'),
-\ 'callback': 'ale_linters#java#checkstyle#Handle',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/java/cspell.vim b/dot_vim/plugged/ale/ale_linters/java/cspell.vim
deleted file mode 100644
index a6eecc0..0000000
--- a/dot_vim/plugged/ale/ale_linters/java/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for Java files.
-
-call ale#handlers#cspell#DefineLinter('java')
diff --git a/dot_vim/plugged/ale/ale_linters/java/eclipselsp.vim b/dot_vim/plugged/ale/ale_linters/java/eclipselsp.vim
deleted file mode 100644
index ad7cbeb..0000000
--- a/dot_vim/plugged/ale/ale_linters/java/eclipselsp.vim
+++ /dev/null
@@ -1,200 +0,0 @@
-" Author: Horacio Sanson
-" Description: Support for the Eclipse language server https://github.com/eclipse/eclipse.jdt.ls
-
-let s:version_cache = {}
-
-call ale#Set('java_eclipselsp_path', ale#path#Simplify($HOME . '/eclipse.jdt.ls'))
-call ale#Set('java_eclipselsp_config_path', '')
-call ale#Set('java_eclipselsp_workspace_path', '')
-call ale#Set('java_eclipselsp_executable', 'java')
-call ale#Set('java_eclipselsp_javaagent', '')
-
-function! ale_linters#java#eclipselsp#Executable(buffer) abort
- return ale#Var(a:buffer, 'java_eclipselsp_executable')
-endfunction
-
-function! ale_linters#java#eclipselsp#TargetPath(buffer) abort
- return ale#Var(a:buffer, 'java_eclipselsp_path')
-endfunction
-
-function! ale_linters#java#eclipselsp#JarPath(buffer) abort
- let l:path = ale_linters#java#eclipselsp#TargetPath(a:buffer)
-
- if has('win32')
- let l:platform = 'win32'
- elseif has('macunix')
- let l:platform = 'macosx'
- else
- let l:platform = 'linux'
- endif
-
- " Search jar file within repository path when manually built using mvn
- let l:files = globpath(l:path, '**/'.l:platform.'/**/plugins/org.eclipse.equinox.launcher_*\.jar', 1, 1)
-
- if len(l:files) >= 1
- return l:files[0]
- endif
-
- " Search jar file within VSCode extensions folder.
- let l:files = globpath(l:path, '**/'.l:platform.'/plugins/org.eclipse.equinox.launcher_*\.jar', 1, 1)
-
- if len(l:files) >= 1
- return l:files[0]
- endif
-
- " Search jar file within unzipped tar.gz file
- let l:files = globpath(l:path, 'plugins/org.eclipse.equinox.launcher_*\.jar', 1, 1)
-
- if len(l:files) >= 1
- return l:files[0]
- endif
-
- " Search jar file within system package path
- let l:files = globpath('/usr/share/java/jdtls/plugins', 'org.eclipse.equinox.launcher_*\.jar', 1, 1)
-
- if len(l:files) >= 1
- return l:files[0]
- endif
-
- return ''
-endfunction
-
-function! ale_linters#java#eclipselsp#ConfigurationPath(buffer) abort
- let l:path = fnamemodify(ale_linters#java#eclipselsp#JarPath(a:buffer), ':p:h:h')
- let l:config_path = ale#Var(a:buffer, 'java_eclipselsp_config_path')
-
- if !empty(l:config_path)
- return ale#path#Simplify(l:config_path)
- endif
-
- if has('win32')
- let l:path = l:path . '/config_win'
- elseif has('macunix')
- let l:path = l:path . '/config_mac'
- else
- let l:path = l:path . '/config_linux'
- endif
-
- return ale#path#Simplify(l:path)
-endfunction
-
-function! ale_linters#java#eclipselsp#VersionCheck(version_lines) abort
- return s:GetVersion('', a:version_lines)
-endfunction
-
-function! s:GetVersion(executable, version_lines) abort
- let l:version = []
-
- for l:line in a:version_lines
- let l:match = matchlist(l:line, '\(\d\+\)\.\(\d\+\)\.\(\d\+\)')
-
- if !empty(l:match)
- let l:version = [l:match[1] + 0, l:match[2] + 0, l:match[3] + 0]
- let s:version_cache[a:executable] = l:version
- break
- endif
- endfor
-
- return l:version
-endfunction
-
-function! ale_linters#java#eclipselsp#CommandWithVersion(buffer, version_lines, meta) abort
- let l:executable = ale_linters#java#eclipselsp#Executable(a:buffer)
- let l:version = s:GetVersion(l:executable, a:version_lines)
-
- return ale_linters#java#eclipselsp#Command(a:buffer, l:version)
-endfunction
-
-function! ale_linters#java#eclipselsp#WorkspacePath(buffer) abort
- let l:wspath = ale#Var(a:buffer, 'java_eclipselsp_workspace_path')
-
- if !empty(l:wspath)
- return l:wspath
- endif
-
- return ale#path#Dirname(ale#java#FindProjectRoot(a:buffer))
-endfunction
-
-function! ale_linters#java#eclipselsp#Javaagent(buffer) abort
- let l:rets = []
- let l:raw = ale#Var(a:buffer, 'java_eclipselsp_javaagent')
-
- if empty(l:raw)
- return ''
- endif
-
- let l:jars = split(l:raw)
-
- for l:jar in l:jars
- call add(l:rets, ale#Escape('-javaagent:' . l:jar))
- endfor
-
- return join(l:rets, ' ')
-endfunction
-
-function! ale_linters#java#eclipselsp#Command(buffer, version) abort
- let l:path = ale#Var(a:buffer, 'java_eclipselsp_path')
-
- let l:executable = ale_linters#java#eclipselsp#Executable(a:buffer)
-
- let l:cmd = [ ale#Escape(l:executable),
- \ ale_linters#java#eclipselsp#Javaagent(a:buffer),
- \ '-Declipse.application=org.eclipse.jdt.ls.core.id1',
- \ '-Dosgi.bundles.defaultStartLevel=4',
- \ '-Declipse.product=org.eclipse.jdt.ls.core.product',
- \ '-Dlog.level=ALL',
- \ '-noverify',
- \ '-Xmx1G',
- \ '-jar',
- \ ale#Escape(ale_linters#java#eclipselsp#JarPath(a:buffer)),
- \ '-configuration',
- \ ale#Escape(ale_linters#java#eclipselsp#ConfigurationPath(a:buffer)),
- \ '-data',
- \ ale#Escape(ale_linters#java#eclipselsp#WorkspacePath(a:buffer))
- \ ]
-
- if ale#semver#GTE(a:version, [1, 9])
- call add(l:cmd, '--add-modules=ALL-SYSTEM')
- call add(l:cmd, '--add-opens java.base/java.util=ALL-UNNAMED')
- call add(l:cmd, '--add-opens java.base/java.lang=ALL-UNNAMED')
- endif
-
- return join(l:cmd, ' ')
-endfunction
-
-function! ale_linters#java#eclipselsp#RunWithVersionCheck(buffer) abort
- let l:executable = ale_linters#java#eclipselsp#Executable(a:buffer)
-
- if empty(l:executable)
- return ''
- endif
-
- let l:cache = s:version_cache
-
- if has_key(s:version_cache, l:executable)
- return ale_linters#java#eclipselsp#Command(a:buffer, s:version_cache[l:executable])
- endif
-
- let l:command = ale#Escape(l:executable) . ' -version'
-
- return ale#command#Run(
- \ a:buffer,
- \ l:command,
- \ function('ale_linters#java#eclipselsp#CommandWithVersion'),
- \ { 'output_stream': 'both' }
- \)
-endfunction
-
-call ale#linter#Define('java', {
-\ 'name': 'eclipselsp',
-\ 'lsp': 'stdio',
-\ 'executable': function('ale_linters#java#eclipselsp#Executable'),
-\ 'command': function('ale_linters#java#eclipselsp#RunWithVersionCheck'),
-\ 'language': 'java',
-\ 'project_root': function('ale#java#FindProjectRoot'),
-\ 'initialization_options': {
-\ 'extendedClientCapabilities': {
-\ 'classFileContentsSupport': v:true
-\ }
-\ }
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/java/javac.vim b/dot_vim/plugged/ale/ale_linters/java/javac.vim
deleted file mode 100644
index 971e8de..0000000
--- a/dot_vim/plugged/ale/ale_linters/java/javac.vim
+++ /dev/null
@@ -1,163 +0,0 @@
-" Author: farenjihn , w0rp
-" Description: Lints java files using javac
-
-let s:classpath_sep = has('unix') ? ':' : ';'
-
-call ale#Set('java_javac_executable', 'javac')
-call ale#Set('java_javac_options', '')
-call ale#Set('java_javac_classpath', '')
-call ale#Set('java_javac_sourcepath', '')
-
-function! ale_linters#java#javac#RunWithImportPaths(buffer) abort
- let [l:cwd, l:command] = ale#maven#BuildClasspathCommand(a:buffer)
-
- " Try to use Gradle if Maven isn't available.
- if empty(l:command)
- let [l:cwd, l:command] = ale#gradle#BuildClasspathCommand(a:buffer)
- endif
-
- " Try to use Ant if Gradle and Maven aren't available
- if empty(l:command)
- let [l:cwd, l:command] = ale#ant#BuildClasspathCommand(a:buffer)
- endif
-
- if empty(l:command)
- return ale_linters#java#javac#GetCommand(a:buffer, [], {})
- endif
-
- return ale#command#Run(
- \ a:buffer,
- \ l:command,
- \ function('ale_linters#java#javac#GetCommand'),
- \ {'cwd': l:cwd},
- \)
-endfunction
-
-function! s:BuildClassPathOption(buffer, import_paths) abort
- " Filter out lines like [INFO], etc.
- let l:class_paths = filter(a:import_paths[:], 'v:val !~# ''[''')
- let l:cls_path = ale#Var(a:buffer, 'java_javac_classpath')
-
- if !empty(l:cls_path) && type(l:cls_path) is v:t_string
- call extend(l:class_paths, split(l:cls_path, s:classpath_sep))
- endif
-
- if !empty(l:cls_path) && type(l:cls_path) is v:t_list
- call extend(l:class_paths, l:cls_path)
- endif
-
- return !empty(l:class_paths)
- \ ? '-cp ' . ale#Escape(join(l:class_paths, s:classpath_sep))
- \ : ''
-endfunction
-
-function! ale_linters#java#javac#GetCommand(buffer, import_paths, meta) abort
- let l:cp_option = s:BuildClassPathOption(a:buffer, a:import_paths)
- let l:sp_option = ''
-
- " Find the src directory, for files in this project.
- let l:src_dir = ale#path#FindNearestDirectory(a:buffer, 'src/main/java')
- let l:sp_dirs = []
-
- if !empty(l:src_dir)
- call add(l:sp_dirs, l:src_dir)
-
- " Automatically include the jaxb directory too, if it's there.
- let l:jaxb_dir = fnamemodify(l:src_dir, ':h:h')
- \ . (has('win32') ? '\jaxb\' : '/jaxb/')
-
- if isdirectory(l:jaxb_dir)
- call add(l:sp_dirs, l:jaxb_dir)
- endif
- endif
-
- " Automatically include the test directory, but only for test code.
- if expand('#' . a:buffer . ':p') =~? '\vsrc[/\\]test[/\\]java'
- let l:test_dir = ale#path#FindNearestDirectory(a:buffer, 'src/test/java')
-
- if isdirectory(l:test_dir)
- call add(l:sp_dirs, l:test_dir)
- endif
- endif
-
- let l:source_paths = []
- let l:source_path = ale#Var(a:buffer, 'java_javac_sourcepath')
-
- if !empty(l:source_path) && type(l:source_path) is v:t_string
- let l:source_paths = split(l:source_path, s:classpath_sep)
- endif
-
- if !empty(l:source_path) && type(l:source_path) is v:t_list
- let l:source_paths = l:source_path
- endif
-
- if !empty(l:source_paths)
- for l:path in l:source_paths
- let l:sp_path = ale#path#FindNearestDirectory(a:buffer, l:path)
-
- if !empty(l:sp_path)
- call add(l:sp_dirs, l:sp_path)
- endif
- endfor
- endif
-
- if !empty(l:sp_dirs)
- let l:sp_option = '-sourcepath '
- \ . ale#Escape(join(l:sp_dirs, s:classpath_sep))
- endif
-
- " Create .class files in a temporary directory, which we will delete later.
- let l:class_file_directory = ale#command#CreateDirectory(a:buffer)
-
- " Always run javac from the directory the file is in, so we can resolve
- " relative paths correctly.
- return '%e -Xlint'
- \ . ale#Pad(l:cp_option)
- \ . ale#Pad(l:sp_option)
- \ . ' -d ' . ale#Escape(l:class_file_directory)
- \ . ale#Pad(ale#Var(a:buffer, 'java_javac_options'))
- \ . ' %t'
-endfunction
-
-function! ale_linters#java#javac#Handle(buffer, lines) abort
- " Look for lines like the following.
- "
- " Main.java:13: warning: [deprecation] donaught() in Testclass has been deprecated
- " Main.java:16: error: ';' expected
- let l:directory = expand('#' . a:buffer . ':p:h')
- let l:pattern = '\v^(.*):(\d+): (.{-1,}):(.+)$'
- let l:col_pattern = '\v^(\s*\^)$'
- let l:symbol_pattern = '\v^ +symbol: *(class|method) +([^ ]+)'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, [l:pattern, l:col_pattern, l:symbol_pattern])
- if empty(l:match[2]) && empty(l:match[3])
- if !empty(l:match[1]) && !empty(l:output)
- let l:output[-1].col = len(l:match[1])
- endif
- elseif empty(l:match[3])
- " Add symbols to 'cannot find symbol' errors.
- if l:output[-1].text is# 'error: cannot find symbol'
- let l:output[-1].text .= ': ' . l:match[2]
- endif
- else
- call add(l:output, {
- \ 'filename': ale#path#GetAbsPath(l:directory, l:match[1]),
- \ 'lnum': l:match[2] + 0,
- \ 'text': l:match[3] . ':' . l:match[4],
- \ 'type': l:match[3] is# 'error' ? 'E' : 'W',
- \})
- endif
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('java', {
-\ 'name': 'javac',
-\ 'executable': {b -> ale#Var(b, 'java_javac_executable')},
-\ 'cwd': '%s:h',
-\ 'command': function('ale_linters#java#javac#RunWithImportPaths'),
-\ 'output_stream': 'stderr',
-\ 'callback': 'ale_linters#java#javac#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/java/javalsp.vim b/dot_vim/plugged/ale/ale_linters/java/javalsp.vim
deleted file mode 100644
index baf584c..0000000
--- a/dot_vim/plugged/ale/ale_linters/java/javalsp.vim
+++ /dev/null
@@ -1,55 +0,0 @@
-" Author: Horacio Sanson
-" Description: Support for the Java language server https://github.com/georgewfraser/vscode-javac
-
-call ale#Set('java_javalsp_executable', '')
-call ale#Set('java_javalsp_config', {})
-
-function! ale_linters#java#javalsp#Executable(buffer) abort
- return ale#Var(a:buffer, 'java_javalsp_executable')
-endfunction
-
-function! ale_linters#java#javalsp#Config(buffer) abort
- let l:defaults = { 'java': { 'classPath': [], 'externalDependencies': [] } }
- let l:config = ale#Var(a:buffer, 'java_javalsp_config')
-
- " Ensure the config dictionary contains both classPath and
- " externalDependencies keys to avoid a NPE crash on Java Language Server.
- call extend(l:config, l:defaults, 'keep')
- call extend(l:config['java'], l:defaults['java'], 'keep')
-
- return l:config
-endfunction
-
-function! ale_linters#java#javalsp#Command(buffer) abort
- let l:executable = ale_linters#java#javalsp#Executable(a:buffer)
-
- if fnamemodify(l:executable, ':t') is# 'java'
- " For backward compatibility.
- let l:cmd = [
- \ ale#Escape(l:executable),
- \ '--add-exports jdk.compiler/com.sun.tools.javac.api=javacs',
- \ '--add-exports jdk.compiler/com.sun.tools.javac.code=javacs',
- \ '--add-exports jdk.compiler/com.sun.tools.javac.comp=javacs',
- \ '--add-exports jdk.compiler/com.sun.tools.javac.main=javacs',
- \ '--add-exports jdk.compiler/com.sun.tools.javac.tree=javacs',
- \ '--add-exports jdk.compiler/com.sun.tools.javac.model=javacs',
- \ '--add-exports jdk.compiler/com.sun.tools.javac.util=javacs',
- \ '--add-opens jdk.compiler/com.sun.tools.javac.api=javacs',
- \ '-m javacs/org.javacs.Main',
- \]
-
- return join(l:cmd, ' ')
- else
- return ale#Escape(l:executable)
- endif
-endfunction
-
-call ale#linter#Define('java', {
-\ 'name': 'javalsp',
-\ 'lsp': 'stdio',
-\ 'executable': function('ale_linters#java#javalsp#Executable'),
-\ 'command': function('ale_linters#java#javalsp#Command'),
-\ 'language': 'java',
-\ 'project_root': function('ale#java#FindProjectRoot'),
-\ 'lsp_config': function('ale_linters#java#javalsp#Config')
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/java/pmd.vim b/dot_vim/plugged/ale/ale_linters/java/pmd.vim
deleted file mode 100644
index a1f4c93..0000000
--- a/dot_vim/plugged/ale/ale_linters/java/pmd.vim
+++ /dev/null
@@ -1,36 +0,0 @@
-" Author: Johannes Wienke
-" Description: PMD for Java files
-
-function! ale_linters#java#pmd#Handle(buffer, lines) abort
- let l:pattern = '"\(\d\+\)",".*","\(.\+\)","\(\d\+\)","\(\d\+\)","\(.\+\)","\(.\+\)","\(.\+\)"$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'type': 'W',
- \ 'lnum': l:match[4] + 0,
- \ 'text': l:match[5],
- \ 'code': l:match[6] . ' - ' . l:match[7],
- \})
- endfor
-
- return l:output
-endfunction
-
-function! ale_linters#java#pmd#GetCommand(buffer) abort
- return 'pmd '
- \ . ale#Var(a:buffer, 'java_pmd_options')
- \ . ' -f csv'
- \ . ' -d %t'
-endfunction
-
-if !exists('g:ale_java_pmd_options')
- let g:ale_java_pmd_options = '-R category/java/bestpractices.xml'
-endif
-
-call ale#linter#Define('java', {
-\ 'name': 'pmd',
-\ 'executable': 'pmd',
-\ 'command': function('ale_linters#java#pmd#GetCommand'),
-\ 'callback': 'ale_linters#java#pmd#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/javascript/cspell.vim b/dot_vim/plugged/ale/ale_linters/javascript/cspell.vim
deleted file mode 100644
index 5a49677..0000000
--- a/dot_vim/plugged/ale/ale_linters/javascript/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for JavaScript files.
-
-call ale#handlers#cspell#DefineLinter('javascript')
diff --git a/dot_vim/plugged/ale/ale_linters/javascript/deno.vim b/dot_vim/plugged/ale/ale_linters/javascript/deno.vim
deleted file mode 100644
index 659eb85..0000000
--- a/dot_vim/plugged/ale/ale_linters/javascript/deno.vim
+++ /dev/null
@@ -1,11 +0,0 @@
-" Author: Arnold Chand
-" Description: Deno lsp linter for JavaScript files.
-
-call ale#linter#Define('javascript', {
-\ 'name': 'deno',
-\ 'lsp': 'stdio',
-\ 'executable': function('ale#handlers#deno#GetExecutable'),
-\ 'command': '%e lsp',
-\ 'project_root': function('ale#handlers#deno#GetProjectRoot'),
-\ 'initialization_options': function('ale#handlers#deno#GetInitializationOptions'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/javascript/eslint.vim b/dot_vim/plugged/ale/ale_linters/javascript/eslint.vim
deleted file mode 100644
index cf4de6e..0000000
--- a/dot_vim/plugged/ale/ale_linters/javascript/eslint.vim
+++ /dev/null
@@ -1,11 +0,0 @@
-" Author: w0rp
-" Description: eslint for JavaScript files
-
-call ale#linter#Define('javascript', {
-\ 'name': 'eslint',
-\ 'output_stream': 'both',
-\ 'executable': function('ale#handlers#eslint#GetExecutable'),
-\ 'cwd': function('ale#handlers#eslint#GetCwd'),
-\ 'command': function('ale#handlers#eslint#GetCommand'),
-\ 'callback': 'ale#handlers#eslint#HandleJSON',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/javascript/fecs.vim b/dot_vim/plugged/ale/ale_linters/javascript/fecs.vim
deleted file mode 100644
index e47c0a0..0000000
--- a/dot_vim/plugged/ale/ale_linters/javascript/fecs.vim
+++ /dev/null
@@ -1,10 +0,0 @@
-" Author: harttle
-" Description: fecs for JavaScript files
-
-call ale#linter#Define('javascript', {
-\ 'name': 'fecs',
-\ 'executable': function('ale#handlers#fecs#GetExecutable'),
-\ 'command': function('ale#handlers#fecs#GetCommand'),
-\ 'read_buffer': 0,
-\ 'callback': 'ale#handlers#fecs#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/javascript/flow.vim b/dot_vim/plugged/ale/ale_linters/javascript/flow.vim
deleted file mode 100644
index 601bac3..0000000
--- a/dot_vim/plugged/ale/ale_linters/javascript/flow.vim
+++ /dev/null
@@ -1,160 +0,0 @@
-" Author: Zach Perrault -- @zperrault
-" Author: Florian Beeres
-" Description: FlowType checking for JavaScript files
-
-call ale#Set('javascript_flow_executable', 'flow')
-call ale#Set('javascript_flow_use_home_config', 0)
-call ale#Set('javascript_flow_use_global', get(g:, 'ale_use_global_executables', 0))
-call ale#Set('javascript_flow_use_respect_pragma', 1)
-
-function! ale_linters#javascript#flow#GetExecutable(buffer) abort
- let l:flow_config = ale#path#FindNearestFile(a:buffer, '.flowconfig')
-
- if empty(l:flow_config)
- " Don't run Flow if we can't find a .flowconfig file.
- return ''
- endif
-
- " Don't run Flow with a configuration file from the home directory by
- " default, which can eat all of your RAM.
- if fnamemodify(l:flow_config, ':h') is? $HOME
- \&& !ale#Var(a:buffer, 'javascript_flow_use_home_config')
- return ''
- endif
-
- return ale#path#FindExecutable(a:buffer, 'javascript_flow', [
- \ 'node_modules/.bin/flow',
- \])
-endfunction
-
-function! ale_linters#javascript#flow#GetCommand(buffer, version) abort
- " If we can parse the version number, then only use --respect-pragma
- " if the version is >= 0.36.0, which added the argument.
- let l:use_respect_pragma = ale#Var(a:buffer, 'javascript_flow_use_respect_pragma')
- \ && (empty(a:version) || ale#semver#GTE(a:version, [0, 36]))
-
- return '%e check-contents'
- \ . (l:use_respect_pragma ? ' --respect-pragma': '')
- \ . ' --json --from ale %s < %t'
- \ . (!has('win32') ? '; echo' : '')
-endfunction
-
-" Filter lines of flow output until we find the first line where the JSON
-" output starts.
-function! s:GetJSONLines(lines) abort
- let l:start_index = 0
-
- for l:line in a:lines
- if l:line[:0] is# '{'
- break
- endif
-
- let l:start_index += 1
- endfor
-
- return a:lines[l:start_index :]
-endfunction
-
-function! s:ExtraErrorMsg(current, new) abort
- let l:newMsg = ''
-
- if a:current is# ''
- " extra messages appear to already have a :
- let l:newMsg = a:new
- else
- let l:newMsg = a:current . ' ' . a:new
- endif
-
- return l:newMsg
-endfunction
-
-function! s:GetDetails(error) abort
- let l:detail = ''
-
- for l:extra_error in a:error.extra
- if has_key(l:extra_error, 'message')
- for l:extra_message in l:extra_error.message
- let l:detail = s:ExtraErrorMsg(l:detail, l:extra_message.descr)
- endfor
- endif
-
- if has_key(l:extra_error, 'children')
- for l:child in l:extra_error.children
- for l:child_message in l:child.message
- let l:detail = l:detail . ' ' . l:child_message.descr
- endfor
- endfor
- endif
- endfor
-
- return l:detail
-endfunction
-
-function! ale_linters#javascript#flow#Handle(buffer, lines) abort
- let l:str = join(s:GetJSONLines(a:lines), '')
-
- if empty(l:str)
- return []
- endif
-
- let l:flow_output = json_decode(l:str)
- let l:output = []
-
- for l:error in get(l:flow_output, 'errors', [])
- " Each error is broken up into parts
- let l:text = ''
- let l:line = 0
- let l:col = 0
-
- for l:message in l:error.message
- " Comments have no line of column information, so we skip them.
- " In certain cases, `l:message.loc.source` points to a different path
- " than the buffer one, thus we skip this loc information too.
- if has_key(l:message, 'loc')
- \&& l:line is# 0
- \&& ale#path#IsBufferPath(a:buffer, l:message.loc.source)
- let l:line = l:message.loc.start.line + 0
- let l:col = l:message.loc.start.column + 0
- endif
-
- if l:text is# ''
- let l:text = l:message.descr . ':'
- else
- let l:text = l:text . ' ' . l:message.descr
- endif
- endfor
-
- if has_key(l:error, 'operation')
- let l:text = l:text . ' See also: ' . l:error.operation.descr
- endif
-
- let l:errorToAdd = {
- \ 'lnum': l:line,
- \ 'col': l:col,
- \ 'text': l:text,
- \ 'type': has_key(l:error, 'level') && l:error.level is# 'error' ? 'E' : 'W',
- \}
-
- if has_key(l:error, 'extra')
- let l:errorToAdd.detail = l:errorToAdd.text
- \ . "\n" . s:GetDetails(l:error)
- endif
-
- call add(l:output, l:errorToAdd)
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('javascript', {
-\ 'name': 'flow',
-\ 'executable': function('ale_linters#javascript#flow#GetExecutable'),
-\ 'command': {buffer -> ale#semver#RunWithVersionCheck(
-\ buffer,
-\ ale_linters#javascript#flow#GetExecutable(buffer),
-\ '%e --version',
-\ function('ale_linters#javascript#flow#GetCommand'),
-\ )},
-\ 'callback': 'ale_linters#javascript#flow#Handle',
-\ 'read_buffer': 0,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/javascript/flow_ls.vim b/dot_vim/plugged/ale/ale_linters/javascript/flow_ls.vim
deleted file mode 100644
index fec3401..0000000
--- a/dot_vim/plugged/ale/ale_linters/javascript/flow_ls.vim
+++ /dev/null
@@ -1,28 +0,0 @@
-" Author: t_t
-" Description: Integrate ALE with flow-language-server.
-
-call ale#Set('javascript_flow_ls_executable', 'flow')
-call ale#Set('javascript_flow_ls_use_global',
-\ get(g:, 'ale_use_global_executables', 0)
-\)
-
-function! ale_linters#javascript#flow_ls#FindProjectRoot(buffer) abort
- let l:flow_config = ale#path#FindNearestFile(a:buffer, '.flowconfig')
-
- if !empty(l:flow_config)
- return fnamemodify(l:flow_config, ':h')
- endif
-
- return ''
-endfunction
-
-call ale#linter#Define('javascript', {
-\ 'name': 'flow-language-server',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'javascript_flow_ls', [
-\ 'node_modules/.bin/flow',
-\ ])},
-\ 'command': '%e lsp --from ale-lsp',
-\ 'project_root': function('ale_linters#javascript#flow_ls#FindProjectRoot'),
-\ 'language': 'javascript',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/javascript/jscs.vim b/dot_vim/plugged/ale/ale_linters/javascript/jscs.vim
deleted file mode 100644
index ae3be68..0000000
--- a/dot_vim/plugged/ale/ale_linters/javascript/jscs.vim
+++ /dev/null
@@ -1,61 +0,0 @@
-" Author: Chris Kyrouac - https://github.com/fijshion
-" Description: jscs for JavaScript files
-
-call ale#Set('javascript_jscs_executable', 'jscs')
-call ale#Set('javascript_jscs_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#javascript#jscs#GetCommand(buffer) abort
- " Search for a local JShint config locaation, and default to a global one.
- let l:jscs_config = ale#path#ResolveLocalPath(
- \ a:buffer,
- \ '.jscsrc',
- \ get(g:, 'ale_jscs_config_loc', '')
- \)
-
- let l:command = '%e --reporter inline --no-colors'
-
- if !empty(l:jscs_config)
- let l:command .= ' --config ' . ale#Escape(l:jscs_config)
- endif
-
- let l:command .= ' -'
-
- return l:command
-endfunction
-
-function! ale_linters#javascript#jscs#Handle(buffer, lines) abort
- " Matches patterns looking like the following
- "
- " foobar.js: line 2, col 1, Expected indentation of 1 characters
- "
- let l:pattern = '\v^.*:\s+line (\d+),\s+col\s+(\d+),\s+(.*)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:obj = {
- \ 'lnum': l:match[1] + 0,
- \ 'col': l:match[2] + 0,
- \ 'text': l:match[3]
- \}
-
- let l:code_match = matchlist(l:match[3], '\v([^ :]+): (.+)$')
-
- if !empty(l:code_match)
- let l:obj.code = l:code_match[1]
- let l:obj.text = l:code_match[2]
- endif
-
- call add(l:output, l:obj)
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('javascript', {
-\ 'name': 'jscs',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'javascript_jscs', [
-\ 'node_modules/.bin/jscs',
-\ ])},
-\ 'command': function('ale_linters#javascript#jscs#GetCommand'),
-\ 'callback': 'ale_linters#javascript#jscs#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/javascript/jshint.vim b/dot_vim/plugged/ale/ale_linters/javascript/jshint.vim
deleted file mode 100644
index 26d4fda..0000000
--- a/dot_vim/plugged/ale/ale_linters/javascript/jshint.vim
+++ /dev/null
@@ -1,33 +0,0 @@
-" Author: Chris Kyrouac - https://github.com/fijshion
-" Description: JSHint for Javascript files
-
-call ale#Set('javascript_jshint_executable', 'jshint')
-call ale#Set('javascript_jshint_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#javascript#jshint#GetCommand(buffer) abort
- " Search for a local JShint config locaation, and default to a global one.
- let l:jshint_config = ale#path#ResolveLocalPath(
- \ a:buffer,
- \ '.jshintrc',
- \ get(g:, 'ale_jshint_config_loc', '')
- \)
-
- let l:command = '%e --reporter unix --extract auto'
-
- if !empty(l:jshint_config)
- let l:command .= ' --config ' . ale#Escape(l:jshint_config)
- endif
-
- let l:command .= ' --filename %s -'
-
- return l:command
-endfunction
-
-call ale#linter#Define('javascript', {
-\ 'name': 'jshint',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'javascript_jshint', [
-\ 'node_modules/.bin/jshint',
-\ ])},
-\ 'command': function('ale_linters#javascript#jshint#GetCommand'),
-\ 'callback': 'ale#handlers#unix#HandleAsError',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/javascript/standard.vim b/dot_vim/plugged/ale/ale_linters/javascript/standard.vim
deleted file mode 100644
index addf41d..0000000
--- a/dot_vim/plugged/ale/ale_linters/javascript/standard.vim
+++ /dev/null
@@ -1,32 +0,0 @@
-" Author: Ahmed El Gabri <@ahmedelgabri>
-" Description: standardjs for JavaScript files
-
-call ale#Set('javascript_standard_executable', 'standard')
-call ale#Set('javascript_standard_use_global', get(g:, 'ale_use_global_executables', 0))
-call ale#Set('javascript_standard_options', '')
-
-function! ale_linters#javascript#standard#GetExecutable(buffer) abort
- return ale#path#FindExecutable(a:buffer, 'javascript_standard', [
- \ 'node_modules/standardx/bin/cmd.js',
- \ 'node_modules/standard/bin/cmd.js',
- \ 'node_modules/semistandard/bin/cmd.js',
- \ 'node_modules/.bin/standard',
- \])
-endfunction
-
-function! ale_linters#javascript#standard#GetCommand(buffer) abort
- let l:executable = ale_linters#javascript#standard#GetExecutable(a:buffer)
- let l:options = ale#Var(a:buffer, 'javascript_standard_options')
-
- return ale#node#Executable(a:buffer, l:executable)
- \ . (!empty(l:options) ? ' ' . l:options : '')
- \ . ' --stdin %s'
-endfunction
-
-" standard uses eslint and the output format is the same
-call ale#linter#Define('javascript', {
-\ 'name': 'standard',
-\ 'executable': function('ale_linters#javascript#standard#GetExecutable'),
-\ 'command': function('ale_linters#javascript#standard#GetCommand'),
-\ 'callback': 'ale#handlers#eslint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/javascript/tsserver.vim b/dot_vim/plugged/ale/ale_linters/javascript/tsserver.vim
deleted file mode 100644
index caf6972..0000000
--- a/dot_vim/plugged/ale/ale_linters/javascript/tsserver.vim
+++ /dev/null
@@ -1,17 +0,0 @@
-" Author: Chaucerbao, w0rp
-" Description: tsserver integration for ALE
-
-call ale#Set('javascript_tsserver_executable', 'tsserver')
-call ale#Set('javascript_tsserver_config_path', '')
-call ale#Set('javascript_tsserver_use_global', get(g:, 'ale_use_global_executables', 0))
-
-call ale#linter#Define('javascript', {
-\ 'name': 'tsserver',
-\ 'lsp': 'tsserver',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'javascript_tsserver', [
-\ 'node_modules/.bin/tsserver',
-\ ])},
-\ 'command': '%e',
-\ 'project_root': function('ale#handlers#tsserver#GetProjectRoot'),
-\ 'language': '',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/javascript/xo.vim b/dot_vim/plugged/ale/ale_linters/javascript/xo.vim
deleted file mode 100644
index 5e04ad5..0000000
--- a/dot_vim/plugged/ale/ale_linters/javascript/xo.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: Daniel Lupu
-" Description: xo for JavaScript files
-
-call ale#linter#Define('javascript', {
-\ 'name': 'xo',
-\ 'executable': function('ale#handlers#xo#GetExecutable'),
-\ 'command': function('ale#handlers#xo#GetLintCommand'),
-\ 'callback': 'ale#handlers#xo#HandleJSON',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/json/cspell.vim b/dot_vim/plugged/ale/ale_linters/json/cspell.vim
deleted file mode 100644
index 0d7314a..0000000
--- a/dot_vim/plugged/ale/ale_linters/json/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for JSON files.
-
-call ale#handlers#cspell#DefineLinter('json')
diff --git a/dot_vim/plugged/ale/ale_linters/json/eslint.vim b/dot_vim/plugged/ale/ale_linters/json/eslint.vim
deleted file mode 100644
index bdabb9f..0000000
--- a/dot_vim/plugged/ale/ale_linters/json/eslint.vim
+++ /dev/null
@@ -1,16 +0,0 @@
-" Author: João Pesce
-" Description: eslint for JSON files.
-"
-" Requires eslint-plugin-jsonc or a similar plugin to work
-"
-" Uses the same funtcions as ale_linters/javascript/eslint.vim by w0rp
-"
-
-call ale#linter#Define('json', {
-\ 'name': 'eslint',
-\ 'output_stream': 'both',
-\ 'executable': function('ale#handlers#eslint#GetExecutable'),
-\ 'cwd': function('ale#handlers#eslint#GetCwd'),
-\ 'command': function('ale#handlers#eslint#GetCommand'),
-\ 'callback': 'ale#handlers#eslint#HandleJSON',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/json/jq.vim b/dot_vim/plugged/ale/ale_linters/json/jq.vim
deleted file mode 100644
index 2f36a29..0000000
--- a/dot_vim/plugged/ale/ale_linters/json/jq.vim
+++ /dev/null
@@ -1,24 +0,0 @@
-" Author: jD91mZM2
-call ale#Set('json_jq_executable', 'jq')
-call ale#Set('json_jq_options', '')
-call ale#Set('json_jq_filters', '.')
-
-" Matches patterns like the following:
-" parse error: Expected another key-value pair at line 4, column 3
-let s:pattern = '^parse error: \(.\+\) at line \(\d\+\), column \(\d\+\)$'
-
-function! ale_linters#json#jq#Handle(buffer, lines) abort
- return ale#util#MapMatches(a:lines, s:pattern, {match -> {
- \ 'text': match[1],
- \ 'lnum': match[2] + 0,
- \ 'col': match[3] + 0,
- \}})
-endfunction
-
-call ale#linter#Define('json', {
-\ 'name': 'jq',
-\ 'executable': {b -> ale#Var(b, 'json_jq_executable')},
-\ 'output_stream': 'stderr',
-\ 'command': '%e',
-\ 'callback': 'ale_linters#json#jq#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/json/jsonlint.vim b/dot_vim/plugged/ale/ale_linters/json/jsonlint.vim
deleted file mode 100644
index 812540a..0000000
--- a/dot_vim/plugged/ale/ale_linters/json/jsonlint.vim
+++ /dev/null
@@ -1,43 +0,0 @@
-" Author: KabbAmine , David Sierra
-
-call ale#Set('json_jsonlint_executable', 'jsonlint')
-call ale#Set('json_jsonlint_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#json#jsonlint#GetExecutable(buffer) abort
- return ale#path#FindExecutable(a:buffer, 'json_jsonlint', [
- \ 'node_modules/.bin/jsonlint',
- \ 'node_modules/jsonlint/lib/cli.js',
- \])
-endfunction
-
-function! ale_linters#json#jsonlint#GetCommand(buffer) abort
- let l:executable = ale_linters#json#jsonlint#GetExecutable(a:buffer)
-
- return ale#node#Executable(a:buffer, l:executable)
- \ . ' --compact -'
-endfunction
-
-function! ale_linters#json#jsonlint#Handle(buffer, lines) abort
- " Matches patterns like the following:
- " line 2, col 15, found: 'STRING' - expected: 'EOF', '}', ',', ']'.
- let l:pattern = '^line \(\d\+\), col \(\d*\), \(.\+\)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': l:match[1] + 0,
- \ 'col': l:match[2] + 0,
- \ 'text': l:match[3],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('json', {
-\ 'name': 'jsonlint',
-\ 'executable': function('ale_linters#json#jsonlint#GetExecutable'),
-\ 'output_stream': 'stderr',
-\ 'command': function('ale_linters#json#jsonlint#GetCommand'),
-\ 'callback': 'ale_linters#json#jsonlint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/json/spectral.vim b/dot_vim/plugged/ale/ale_linters/json/spectral.vim
deleted file mode 100644
index 14129c5..0000000
--- a/dot_vim/plugged/ale/ale_linters/json/spectral.vim
+++ /dev/null
@@ -1,14 +0,0 @@
-" Author: t2h5
-" Description: Integration of Stoplight Spectral CLI with ALE.
-
-call ale#Set('json_spectral_executable', 'spectral')
-call ale#Set('json_spectral_use_global', get(g:, 'ale_use_global_executables', 0))
-
-call ale#linter#Define('json', {
-\ 'name': 'spectral',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'json_spectral', [
-\ 'node_modules/.bin/spectral',
-\ ])},
-\ 'command': '%e lint --ignore-unknown-format -q -f text %t',
-\ 'callback': 'ale#handlers#spectral#HandleSpectralOutput'
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/json/vscodejson.vim b/dot_vim/plugged/ale/ale_linters/json/vscodejson.vim
deleted file mode 100644
index dcaee01..0000000
--- a/dot_vim/plugged/ale/ale_linters/json/vscodejson.vim
+++ /dev/null
@@ -1,16 +0,0 @@
-" Author: Dalius Dobravolskas
-" Description: VSCode json language server
-
-function! ale_linters#json#vscodejson#GetProjectRoot(buffer) abort
- let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git')
-
- return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : ''
-endfunction
-
-call ale#linter#Define('json', {
-\ 'name': 'vscodejson',
-\ 'lsp': 'stdio',
-\ 'executable': 'vscode-json-language-server',
-\ 'command': '%e --stdio',
-\ 'project_root': function('ale_linters#json#vscodejson#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/json5/eslint.vim b/dot_vim/plugged/ale/ale_linters/json5/eslint.vim
deleted file mode 100644
index 6207f2d..0000000
--- a/dot_vim/plugged/ale/ale_linters/json5/eslint.vim
+++ /dev/null
@@ -1,16 +0,0 @@
-" Author: João Pesce
-" Description: eslint for JSON5 files.
-"
-" Requires eslint-plugin-jsonc or a similar plugin to work
-"
-" Uses the same funtcions as ale_linters/javascript/eslint.vim by w0rp
-"
-
-call ale#linter#Define('json5', {
-\ 'name': 'eslint',
-\ 'output_stream': 'both',
-\ 'executable': function('ale#handlers#eslint#GetExecutable'),
-\ 'cwd': function('ale#handlers#eslint#GetCwd'),
-\ 'command': function('ale#handlers#eslint#GetCommand'),
-\ 'callback': 'ale#handlers#eslint#HandleJSON',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/jsonc/eslint.vim b/dot_vim/plugged/ale/ale_linters/jsonc/eslint.vim
deleted file mode 100644
index 1a5cc52..0000000
--- a/dot_vim/plugged/ale/ale_linters/jsonc/eslint.vim
+++ /dev/null
@@ -1,16 +0,0 @@
-" Author: João Pesce
-" Description: eslint for JSONC files.
-"
-" Requires eslint-plugin-jsonc or a similar plugin to work
-"
-" Uses the same funtcions as ale_linters/javascript/eslint.vim by w0rp
-"
-
-call ale#linter#Define('jsonc', {
-\ 'name': 'eslint',
-\ 'output_stream': 'both',
-\ 'executable': function('ale#handlers#eslint#GetExecutable'),
-\ 'cwd': function('ale#handlers#eslint#GetCwd'),
-\ 'command': function('ale#handlers#eslint#GetCommand'),
-\ 'callback': 'ale#handlers#eslint#HandleJSON',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/jsonnet/jsonnet_lint.vim b/dot_vim/plugged/ale/ale_linters/jsonnet/jsonnet_lint.vim
deleted file mode 100644
index a5ebdc3..0000000
--- a/dot_vim/plugged/ale/ale_linters/jsonnet/jsonnet_lint.vim
+++ /dev/null
@@ -1,59 +0,0 @@
-" Author: Trevor Whitney
-" Description: jsonnet-lint for jsonnet files
-
-call ale#Set('jsonnet_jsonnet_lint_executable', 'jsonnet-lint')
-call ale#Set('jsonnet_jsonnet_lint_options', '')
-
-function! ale_linters#jsonnet#jsonnet_lint#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'jsonnet_jsonnet_lint_options')
-
- return '%e'
- \ . ale#Pad(l:options)
- \ . ' %t'
-endfunction
-
-
-function! ale_linters#jsonnet#jsonnet_lint#Handle(buffer, lines) abort
- " Matches patterns line the following:
- "
- " ERROR: foo.jsonnet:22:3-12 expected token OPERATOR but got (IDENTIFIER, "bar")
- " ERROR: hoge.jsonnet:20:3 unexpected: "}" while parsing terminal
- " ERROR: main.jsonnet:212:1-14 Expected , or ; but got (IDENTIFIER, "older_cluster")
- let l:pattern = '^ERROR: [^:]*:\(\d\+\):\(\d\+\)\(-\d\+\)* \(.*\)'
- let l:output = []
-
- for l:line in a:lines
- let l:match = matchlist(l:line, l:pattern)
-
- if len(l:match) == 0
- continue
- endif
-
- let line_number = l:match[1] + 0
- let column = l:match[2] + 0
- " l:match[3] has optional -14, when linter is showing a range
- let text = l:match[4]
-
-
- " vcol is Needed to indicate that the column is a character.
- call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': line_number,
- \ 'vcol': 0,
- \ 'col': column,
- \ 'text': text,
- \ 'type': 'E',
- \ 'nr': -1,
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('jsonnet', {
-\ 'name': 'jsonnet_lint',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'jsonnet_jsonnet_lint_executable')},
-\ 'command': function('ale_linters#jsonnet#jsonnet_lint#GetCommand'),
-\ 'callback': 'ale_linters#jsonnet#jsonnet_lint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/jsonnet/jsonnetfmt.vim b/dot_vim/plugged/ale/ale_linters/jsonnet/jsonnetfmt.vim
deleted file mode 100644
index 8904019..0000000
--- a/dot_vim/plugged/ale/ale_linters/jsonnet/jsonnetfmt.vim
+++ /dev/null
@@ -1,52 +0,0 @@
-" Authors: Trevor Whitney and Takuya Kosugiyama
-" Description: jsonnetfmt for jsonnet files
-
-call ale#Set('jsonnet_jsonnetfmt_executable', 'jsonnetfmt')
-call ale#Set('jsonnet_jsonnetfmt_options', '')
-
-function! ale_linters#jsonnet#jsonnetfmt#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'jsonnet_jsonnetfmt_options')
-
- return '%e'
- \ . ale#Pad(l:options)
- \ . ' %t'
-endfunction
-
-
-function! ale_linters#jsonnet#jsonnetfmt#Handle(buffer, lines) abort
- " Matches patterns line the following:
- "
- " STATIC ERROR: foo.jsonnet:22:3-12: expected token OPERATOR but got (IDENTIFIER, "bar")
- " STATIC ERROR: hoge.jsonnet:20:3: unexpected: "}" while parsing terminal
- let l:pattern = '^STATIC ERROR:[^:]*:\(\d\+\):\(\d\+\):*\(-\d\+\)* \(.*\)'
- let l:output = []
-
- for l:line in a:lines
- let l:match = matchlist(l:line, l:pattern)
-
- if len(l:match) == 0
- continue
- endif
-
- " vcol is Needed to indicate that the column is a character.
- call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': l:match[1] + 0,
- \ 'vcol': 0,
- \ 'col': l:match[2] + 0,
- \ 'text': l:match[4],
- \ 'type': 'E',
- \ 'nr': -1,
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('jsonnet', {
-\ 'name': 'jsonnetfmt',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'jsonnet_jsonnetfmt_executable')},
-\ 'command': function('ale_linters#jsonnet#jsonnetfmt#GetCommand'),
-\ 'callback': 'ale_linters#jsonnet#jsonnetfmt#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/julia/languageserver.vim b/dot_vim/plugged/ale/ale_linters/julia/languageserver.vim
deleted file mode 100644
index 999ad81..0000000
--- a/dot_vim/plugged/ale/ale_linters/julia/languageserver.vim
+++ /dev/null
@@ -1,21 +0,0 @@
-" Author: Bartolomeo Stellato
-" Description: A language server for Julia
-
-" Set julia executable variable
-call ale#Set('julia_executable', 'julia')
-
-function! ale_linters#julia#languageserver#GetCommand(buffer) abort
- let l:julia_executable = ale#Var(a:buffer, 'julia_executable')
- let l:cmd_string = 'using LanguageServer; using Pkg; import StaticLint; import SymbolServer; server = LanguageServer.LanguageServerInstance(isdefined(Base, :stdin) ? stdin : STDIN, isdefined(Base, :stdout) ? stdout : STDOUT, dirname(Pkg.Types.Context().env.project_file)); server.runlinter = true; run(server);'
-
- return ale#Escape(l:julia_executable) . ' --project=@. --startup-file=no --history-file=no -e ' . ale#Escape(l:cmd_string)
-endfunction
-
-call ale#linter#Define('julia', {
-\ 'name': 'languageserver',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'julia_executable')},
-\ 'command': function('ale_linters#julia#languageserver#GetCommand'),
-\ 'language': 'julia',
-\ 'project_root': function('ale#julia#FindProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/kotlin/kotlinc.vim b/dot_vim/plugged/ale/ale_linters/kotlin/kotlinc.vim
deleted file mode 100644
index e8bc924..0000000
--- a/dot_vim/plugged/ale/ale_linters/kotlin/kotlinc.vim
+++ /dev/null
@@ -1,177 +0,0 @@
-" Author: Francis Agyapong
-" Description: A linter for the Kotlin programming language that uses kotlinc
-
-let g:ale_kotlin_kotlinc_options = get(g:, 'ale_kotlin_kotlinc_options', '')
-let g:ale_kotlin_kotlinc_enable_config = get(g:, 'ale_kotlin_kotlinc_enable_config', 0)
-let g:ale_kotlin_kotlinc_config_file = get(g:, 'ale_kotlin_kotlinc_config_file', '.ale_kotlinc_config')
-let g:ale_kotlin_kotlinc_classpath = get(g:, 'ale_kotlin_kotlinc_classpath', '')
-let g:ale_kotlin_kotlinc_sourcepath = get(g:, 'ale_kotlin_kotlinc_sourcepath', '')
-let g:ale_kotlin_kotlinc_use_module_file = get(g:, 'ale_kotlin_kotlinc_use_module_file', 0)
-let g:ale_kotlin_kotlinc_module_filename = get(g:, 'ale_kotlin_kotlinc_module_filename', 'module.xml')
-
-let s:classpath_sep = has('unix') ? ':' : ';'
-
-function! ale_linters#kotlin#kotlinc#RunWithImportPaths(buffer) abort
- let l:command = ''
-
- " exec maven/gradle only if classpath is not set
- if !empty(ale#Var(a:buffer, 'kotlin_kotlinc_classpath'))
- return ale_linters#kotlin#kotlinc#GetCommand(a:buffer, [], {})
- endif
-
- let [l:cwd, l:command] = ale#maven#BuildClasspathCommand(a:buffer)
-
- " Try to use Gradle if Maven isn't available.
- if empty(l:command)
- let [l:cwd, l:command] = ale#gradle#BuildClasspathCommand(a:buffer)
- endif
-
- if empty(l:command)
- return ale_linters#kotlin#kotlinc#GetCommand(a:buffer, [], {})
- endif
-
- return ale#command#Run(
- \ a:buffer,
- \ l:command,
- \ function('ale_linters#kotlin#kotlinc#GetCommand'),
- \ {'cwd': l:cwd},
- \)
-endfunction
-
-function! s:BuildClassPathOption(buffer, import_paths) abort
- " Filter out lines like [INFO], etc.
- let l:class_paths = filter(a:import_paths[:], 'v:val !~# ''[''')
- call extend(
- \ l:class_paths,
- \ split(ale#Var(a:buffer, 'kotlin_kotlinc_classpath'), s:classpath_sep),
- \)
-
- return !empty(l:class_paths)
- \ ? ' -cp ' . ale#Escape(join(l:class_paths, s:classpath_sep))
- \ : ''
-endfunction
-
-function! ale_linters#kotlin#kotlinc#GetCommand(buffer, import_paths, meta) abort
- let l:kotlinc_opts = ale#Var(a:buffer, 'kotlin_kotlinc_options')
- let l:command = 'kotlinc '
-
- " If the config file is enabled and readable, source it
- if ale#Var(a:buffer, 'kotlin_kotlinc_enable_config')
- let l:conf = expand(ale#Var(a:buffer, 'kotlin_kotlinc_config_file'), 1)
-
- if filereadable(l:conf)
- execute 'source ' . fnameescape(l:conf)
- endif
- endif
-
- " If use module and module file is readable use that and return
- if ale#Var(a:buffer, 'kotlin_kotlinc_use_module_file')
- let l:module_filename = ale#Escape(expand(ale#Var(a:buffer, 'kotlin_kotlinc_module_filename'), 1))
-
- if filereadable(l:module_filename)
- let l:kotlinc_opts .= ' -module ' . l:module_filename
- let l:command .= 'kotlinc ' . l:kotlinc_opts
-
- return l:command
- endif
- endif
-
- " We only get here if not using module or the module file not readable
- if ale#Var(a:buffer, 'kotlin_kotlinc_classpath') isnot# ''
- let l:kotlinc_opts .= ' -cp ' . ale#Var(a:buffer, 'kotlin_kotlinc_classpath')
- else
- " get classpath from maven/gradle
- let l:kotlinc_opts .= s:BuildClassPathOption(a:buffer, a:import_paths)
- endif
-
- let l:fname = ''
-
- if ale#Var(a:buffer, 'kotlin_kotlinc_sourcepath') isnot# ''
- let l:fname .= expand(ale#Var(a:buffer, 'kotlin_kotlinc_sourcepath'), 1) . ' '
- else
- " Find the src directory for files in this project.
- let l:project_root = ale#gradle#FindProjectRoot(a:buffer)
-
- if !empty(l:project_root)
- let l:src_dir = l:project_root
- else
- let l:src_dir = ale#path#FindNearestDirectory(a:buffer, 'src/main/java')
- \ . ' ' . ale#path#FindNearestDirectory(a:buffer, 'src/main/kotlin')
- endif
-
- let l:fname .= expand(l:src_dir, 1) . ' '
- endif
-
- let l:fname .= ale#Escape(expand('#' . a:buffer . ':p'))
- let l:command .= l:kotlinc_opts . ' ' . l:fname
-
- return l:command
-endfunction
-
-function! ale_linters#kotlin#kotlinc#Handle(buffer, lines) abort
- let l:code_pattern = '^\(.*\):\([0-9]\+\):\([0-9]\+\):\s\+\(error\|warning\):\s\+\(.*\)'
- let l:general_pattern = '^\(warning\|error\|info\):\s*\(.*\)'
- let l:output = []
-
- for l:line in a:lines
- let l:match = matchlist(l:line, l:code_pattern)
-
- if len(l:match) == 0
- continue
- endif
-
- let l:file = l:match[1]
- let l:line = l:match[2] + 0
- let l:column = l:match[3] + 0
- let l:type = l:match[4]
- let l:text = l:match[5]
-
- let l:buf_abspath = fnamemodify(l:file, ':p')
- let l:curbuf_abspath = expand('#' . a:buffer . ':p')
-
- " Skip if file is not loaded
- if l:buf_abspath isnot# l:curbuf_abspath
- continue
- endif
-
- let l:type_marker_str = l:type is# 'warning' ? 'W' : 'E'
-
- call add(l:output, {
- \ 'lnum': l:line,
- \ 'col': l:column,
- \ 'text': l:text,
- \ 'type': l:type_marker_str,
- \})
- endfor
-
- " Non-code related messages
- for l:line in a:lines
- let l:match = matchlist(l:line, l:general_pattern)
-
- if len(l:match) == 0
- continue
- endif
-
- let l:type = l:match[1]
- let l:text = l:match[2]
-
- let l:type_marker_str = l:type is# 'warning' || l:type is# 'info' ? 'W' : 'E'
-
- call add(l:output, {
- \ 'lnum': 1,
- \ 'text': l:text,
- \ 'type': l:type_marker_str,
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('kotlin', {
-\ 'name': 'kotlinc',
-\ 'executable': 'kotlinc',
-\ 'output_stream': 'stderr',
-\ 'command': function('ale_linters#kotlin#kotlinc#RunWithImportPaths'),
-\ 'callback': 'ale_linters#kotlin#kotlinc#Handle',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/kotlin/ktlint.vim b/dot_vim/plugged/ale/ale_linters/kotlin/ktlint.vim
deleted file mode 100644
index 0bb64b1..0000000
--- a/dot_vim/plugged/ale/ale_linters/kotlin/ktlint.vim
+++ /dev/null
@@ -1,10 +0,0 @@
-" Author: Francis Agyapong
-" Description: Lint kotlin files using ktlint
-
-call ale#linter#Define('kotlin', {
-\ 'name': 'ktlint',
-\ 'executable': 'ktlint',
-\ 'command': function('ale#handlers#ktlint#GetCommand'),
-\ 'callback': 'ale#handlers#ktlint#Handle',
-\ 'output_stream': 'stderr'
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/kotlin/languageserver.vim b/dot_vim/plugged/ale/ale_linters/kotlin/languageserver.vim
deleted file mode 100644
index af78c0e..0000000
--- a/dot_vim/plugged/ale/ale_linters/kotlin/languageserver.vim
+++ /dev/null
@@ -1,29 +0,0 @@
-" Author: MTDL9
-" Description: Support for the Kotlin language server https://github.com/fwcd/KotlinLanguageServer
-
-call ale#Set('kotlin_languageserver_executable', 'kotlin-language-server')
-
-function! ale_linters#kotlin#languageserver#GetProjectRoot(buffer) abort
- let l:gradle_root = ale#gradle#FindProjectRoot(a:buffer)
-
- if !empty(l:gradle_root)
- return l:gradle_root
- endif
-
- let l:maven_pom_file = ale#path#FindNearestFile(a:buffer, 'pom.xml')
-
- if !empty(l:maven_pom_file)
- return fnamemodify(l:maven_pom_file, ':h')
- endif
-
- return ''
-endfunction
-
-call ale#linter#Define('kotlin', {
-\ 'name': 'languageserver',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'kotlin_languageserver_executable')},
-\ 'command': '%e',
-\ 'language': 'kotlin',
-\ 'project_root': function('ale_linters#kotlin#languageserver#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/less/lessc.vim b/dot_vim/plugged/ale/ale_linters/less/lessc.vim
deleted file mode 100644
index 8e21f5b..0000000
--- a/dot_vim/plugged/ale/ale_linters/less/lessc.vim
+++ /dev/null
@@ -1,47 +0,0 @@
-" Author: zanona , w0rp
-" Description: This file adds support for checking Less code with lessc.
-
-call ale#Set('less_lessc_executable', 'lessc')
-call ale#Set('less_lessc_options', '')
-call ale#Set('less_lessc_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#less#lessc#GetCommand(buffer) abort
- return '%e --no-color --lint'
- \ . ' --include-path=' . ale#Escape(expand('#' . a:buffer . ':p:h'))
- \ . ale#Pad(ale#Var(a:buffer, 'less_lessc_options'))
- \ . ' -'
-endfunction
-
-function! ale_linters#less#lessc#Handle(buffer, lines) abort
- let l:dir = expand('#' . a:buffer . ':p:h')
- " Matches patterns like the following:
- let l:pattern = '^\(\w\+\): \(.\{-}\) in \(.\{-}\) on line \(\d\+\), column \(\d\+\):$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:item = {
- \ 'lnum': l:match[4] + 0,
- \ 'col': l:match[5] + 0,
- \ 'text': l:match[2],
- \ 'type': 'E',
- \}
-
- if l:match[3] isnot# '-'
- let l:item.filename = ale#path#GetAbsPath(l:dir, l:match[3])
- endif
-
- call add(l:output, l:item)
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('less', {
-\ 'name': 'lessc',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'less_lessc', [
-\ 'node_modules/.bin/lessc',
-\ ])},
-\ 'command': function('ale_linters#less#lessc#GetCommand'),
-\ 'callback': 'ale_linters#less#lessc#Handle',
-\ 'output_stream': 'stderr',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/less/stylelint.vim b/dot_vim/plugged/ale/ale_linters/less/stylelint.vim
deleted file mode 100644
index 83f784c..0000000
--- a/dot_vim/plugged/ale/ale_linters/less/stylelint.vim
+++ /dev/null
@@ -1,20 +0,0 @@
-" Author: diartyz , w0rp
-
-call ale#Set('less_stylelint_executable', 'stylelint')
-call ale#Set('less_stylelint_options', '')
-call ale#Set('less_stylelint_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#less#stylelint#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'less_stylelint_options')
-
- return '%e' . ale#Pad(l:options) . ' --stdin-filename %s'
-endfunction
-
-call ale#linter#Define('less', {
-\ 'name': 'stylelint',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'less_stylelint', [
-\ 'node_modules/.bin/stylelint',
-\ ])},
-\ 'command': function('ale_linters#less#stylelint#GetCommand'),
-\ 'callback': 'ale#handlers#css#HandleStyleLintFormat',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/llvm/llc.vim b/dot_vim/plugged/ale/ale_linters/llvm/llc.vim
deleted file mode 100644
index 594be06..0000000
--- a/dot_vim/plugged/ale/ale_linters/llvm/llc.vim
+++ /dev/null
@@ -1,24 +0,0 @@
-" Author: rhysd
-" Description: Support for checking LLVM IR with llc
-
-call ale#Set('llvm_llc_executable', 'llc')
-
-function! ale_linters#llvm#llc#HandleErrors(buffer, lines) abort
- " Handle '{path}: {file}:{line}:{col}: error: {message}' format
- let l:pattern = '\v^[a-zA-Z]?:?[^:]+: [^:]+:(\d+):(\d+): (.+)$'
-
- return map(ale#util#GetMatches(a:lines, l:pattern), "{
- \ 'lnum': str2nr(v:val[1]),
- \ 'col': str2nr(v:val[2]),
- \ 'text': v:val[3],
- \ 'type': 'E',
- \}")
-endfunction
-
-call ale#linter#Define('llvm', {
-\ 'name': 'llc',
-\ 'executable': {b -> ale#Var(b, 'llvm_llc_executable')},
-\ 'output_stream': 'stderr',
-\ 'command': {-> '%e -filetype=null -o=' . g:ale#util#nul_file},
-\ 'callback': 'ale_linters#llvm#llc#HandleErrors',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/lua/cspell.vim b/dot_vim/plugged/ale/ale_linters/lua/cspell.vim
deleted file mode 100644
index 215b82f..0000000
--- a/dot_vim/plugged/ale/ale_linters/lua/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for Lua files.
-
-call ale#handlers#cspell#DefineLinter('lua')
diff --git a/dot_vim/plugged/ale/ale_linters/lua/luac.vim b/dot_vim/plugged/ale/ale_linters/lua/luac.vim
deleted file mode 100644
index 41674a4..0000000
--- a/dot_vim/plugged/ale/ale_linters/lua/luac.vim
+++ /dev/null
@@ -1,31 +0,0 @@
-" Author: Jon Xie https://github.com/xiejiangzhi
-" Description: luac linter for lua files
-
-call ale#Set('lua_luac_executable', 'luac')
-
-function! ale_linters#lua#luac#Handle(buffer, lines) abort
- " Matches patterns line the following:
- "
- " luac: stdin:5: '=' expected near ')'
- " luac: stdin:8: ')' expected (to close '(' at line 6) near '123'
- let l:pattern = '\v^.*:(\d+): (.+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': l:match[1] + 0,
- \ 'type': 'E',
- \ 'text': l:match[2],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('lua', {
-\ 'name': 'luac',
-\ 'executable': {b -> ale#Var(b, 'lua_luac_executable')},
-\ 'command': '%e -p -',
-\ 'output_stream': 'stderr',
-\ 'callback': 'ale_linters#lua#luac#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/lua/luacheck.vim b/dot_vim/plugged/ale/ale_linters/lua/luacheck.vim
deleted file mode 100644
index 34be2b5..0000000
--- a/dot_vim/plugged/ale/ale_linters/lua/luacheck.vim
+++ /dev/null
@@ -1,44 +0,0 @@
-" Author: Sol Bekic https://github.com/s-ol
-" Description: luacheck linter for lua files
-
-call ale#Set('lua_luacheck_executable', 'luacheck')
-call ale#Set('lua_luacheck_options', '')
-
-function! ale_linters#lua#luacheck#GetCommand(buffer) abort
- return '%e' . ale#Pad(ale#Var(a:buffer, 'lua_luacheck_options'))
- \ . ' --formatter plain --codes --filename %s -'
-endfunction
-
-function! ale_linters#lua#luacheck#Handle(buffer, lines) abort
- " Matches patterns line the following:
- "
- " artal.lua:159:17: (W111) shadowing definition of loop variable 'i' on line 106
- " artal.lua:182:7: (W213) unused loop variable 'i'
- let l:pattern = '^.*:\(\d\+\):\(\d\+\): (\([WE]\)\(\d\+\)) \(.\+\)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- if !ale#Var(a:buffer, 'warn_about_trailing_whitespace')
- \ && l:match[3] is# 'W'
- \ && index(range(611, 614), str2nr(l:match[4])) >= 0
- continue
- endif
-
- call add(l:output, {
- \ 'lnum': l:match[1] + 0,
- \ 'col': l:match[2] + 0,
- \ 'type': l:match[3],
- \ 'code': l:match[3] . l:match[4],
- \ 'text': l:match[5],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('lua', {
-\ 'name': 'luacheck',
-\ 'executable': {b -> ale#Var(b, 'lua_luacheck_executable')},
-\ 'command': function('ale_linters#lua#luacheck#GetCommand'),
-\ 'callback': 'ale_linters#lua#luacheck#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/lua/selene.vim b/dot_vim/plugged/ale/ale_linters/lua/selene.vim
deleted file mode 100644
index 6b33cbf..0000000
--- a/dot_vim/plugged/ale/ale_linters/lua/selene.vim
+++ /dev/null
@@ -1,46 +0,0 @@
-call ale#Set('lua_selene_executable', 'selene')
-call ale#Set('lua_selene_options', '')
-
-function! ale_linters#lua#selene#GetCommand(buffer) abort
- return '%e' . ale#Pad(ale#Var(a:buffer, 'lua_selene_options'))
- \ . ' --display-style=json -'
-endfunction
-
-function! ale_linters#lua#selene#Handle(buffer, lines) abort
- let l:output = []
-
- for l:line in a:lines
- " as of version 0.17.0, selene has no way to suppress summary
- " information when outputting json, so stop processing when we hit it
- " (PR for this here: https://github.com/Kampfkarren/selene/pull/356)
- if l:line is# 'Results:'
- break
- endif
-
- let l:json = json_decode(l:line)
- let l:lint = {
- \ 'lnum': l:json.primary_label.span.start_line + 1,
- \ 'end_lnum': l:json.primary_label.span.end_line + 1,
- \ 'col': l:json.primary_label.span.start_column + 1,
- \ 'end_col': l:json.primary_label.span.end_column,
- \ 'text': l:json.message,
- \ 'code': l:json.code,
- \ 'type': l:json.severity is# 'Warning' ? 'W' : 'E',
- \}
-
- if has_key(l:json, 'notes') && len(l:json.notes) > 0
- let l:lint.detail = l:lint.text . "\n\n" . join(l:json.notes, "\n")
- endif
-
- call add(l:output, l:lint)
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('lua', {
-\ 'name': 'selene',
-\ 'executable': {b -> ale#Var(b, 'lua_selene_executable')},
-\ 'command': function('ale_linters#lua#selene#GetCommand'),
-\ 'callback': 'ale_linters#lua#selene#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/mail/alex.vim b/dot_vim/plugged/ale/ale_linters/mail/alex.vim
deleted file mode 100644
index 0fceea7..0000000
--- a/dot_vim/plugged/ale/ale_linters/mail/alex.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Author: Johannes Wienke
-" Description: alex for mail files
-
-call ale#handlers#alex#DefineLinter('mail', '--text')
diff --git a/dot_vim/plugged/ale/ale_linters/mail/languagetool.vim b/dot_vim/plugged/ale/ale_linters/mail/languagetool.vim
deleted file mode 100644
index f68dab7..0000000
--- a/dot_vim/plugged/ale/ale_linters/mail/languagetool.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-" Author: Vincent (wahrwolf [at] wolfpit.net)
-" Description: languagetool for mails
-
-
-call ale#handlers#languagetool#DefineLinter('mail')
diff --git a/dot_vim/plugged/ale/ale_linters/mail/proselint.vim b/dot_vim/plugged/ale/ale_linters/mail/proselint.vim
deleted file mode 100644
index 82c8d1f..0000000
--- a/dot_vim/plugged/ale/ale_linters/mail/proselint.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: Daniel M. Capella https://github.com/polyzen
-" Description: proselint for mail files
-
-call ale#linter#Define('mail', {
-\ 'name': 'proselint',
-\ 'executable': 'proselint',
-\ 'command': 'proselint %t',
-\ 'callback': 'ale#handlers#unix#HandleAsWarning',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/mail/vale.vim b/dot_vim/plugged/ale/ale_linters/mail/vale.vim
deleted file mode 100644
index e6dfd2e..0000000
--- a/dot_vim/plugged/ale/ale_linters/mail/vale.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: chew-z https://github.com/chew-z
-" Description: vale for Markdown files
-
-call ale#linter#Define('mail', {
-\ 'name': 'vale',
-\ 'executable': 'vale',
-\ 'command': 'vale --output=JSON %t',
-\ 'callback': 'ale#handlers#vale#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/make/checkmake.vim b/dot_vim/plugged/ale/ale_linters/make/checkmake.vim
deleted file mode 100644
index fed01b5..0000000
--- a/dot_vim/plugged/ale/ale_linters/make/checkmake.vim
+++ /dev/null
@@ -1,37 +0,0 @@
-" Author: aurieh - https://github.com/aurieh
-
-call ale#Set('make_checkmake_config', '')
-
-function! ale_linters#make#checkmake#Handle(buffer, lines) abort
- let l:pattern = '\v^(\d+):(.+):(.+)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': l:match[1] + 0,
- \ 'type': 'E',
- \ 'code': l:match[2],
- \ 'text': l:match[3],
- \})
- endfor
-
- return l:output
-endfunction
-
-function! ale_linters#make#checkmake#GetCommand(buffer) abort
- let l:config = ale#Var(a:buffer, 'make_checkmake_config')
- let l:cmd = 'checkmake'
- \ . ' --format="{{.LineNumber}}:{{.Rule}}:{{.Violation}}{{\"\r\n\"}}"'
- \ . (!empty(l:config) ? ' --config="' . l:config . '"' : '')
- \ . ' %s'
-
- return l:cmd
-endfunction
-
-call ale#linter#Define('make', {
-\ 'name': 'checkmake',
-\ 'executable': 'checkmake',
-\ 'command': function('ale_linters#make#checkmake#GetCommand'),
-\ 'callback': 'ale_linters#make#checkmake#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/markdown/alex.vim b/dot_vim/plugged/ale/ale_linters/markdown/alex.vim
deleted file mode 100644
index 63769b5..0000000
--- a/dot_vim/plugged/ale/ale_linters/markdown/alex.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Author: Johannes Wienke
-" Description: alex for markdown files
-
-call ale#handlers#alex#DefineLinter('markdown', '')
diff --git a/dot_vim/plugged/ale/ale_linters/markdown/cspell.vim b/dot_vim/plugged/ale/ale_linters/markdown/cspell.vim
deleted file mode 100644
index 45c586c..0000000
--- a/dot_vim/plugged/ale/ale_linters/markdown/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for Markdown files.
-
-call ale#handlers#cspell#DefineLinter('markdown')
diff --git a/dot_vim/plugged/ale/ale_linters/markdown/languagetool.vim b/dot_vim/plugged/ale/ale_linters/markdown/languagetool.vim
deleted file mode 100644
index 422a38c..0000000
--- a/dot_vim/plugged/ale/ale_linters/markdown/languagetool.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-" Author: Vincent (wahrwolf [at] wolfpit.net)
-" Description: languagetool for markdown files
-
-
-call ale#handlers#languagetool#DefineLinter('markdown')
diff --git a/dot_vim/plugged/ale/ale_linters/markdown/markdownlint.vim b/dot_vim/plugged/ale/ale_linters/markdown/markdownlint.vim
deleted file mode 100644
index 424c9f2..0000000
--- a/dot_vim/plugged/ale/ale_linters/markdown/markdownlint.vim
+++ /dev/null
@@ -1,27 +0,0 @@
-" Author: Ty-Lucas Kelley
-" Description: Adds support for markdownlint
-
-call ale#Set('markdown_markdownlint_executable', 'markdownlint')
-call ale#Set('markdown_markdownlint_options', '')
-
-function! ale_linters#markdown#markdownlint#GetExecutable(buffer) abort
- return ale#Var(a:buffer, 'markdown_markdownlint_executable')
-endfunction
-
-function! ale_linters#markdown#markdownlint#GetCommand(buffer) abort
- let l:executable = ale_linters#markdown#markdownlint#GetExecutable(a:buffer)
-
- let l:options = ale#Var(a:buffer, 'markdown_markdownlint_options')
-
- return ale#Escape(l:executable)
- \ . (!empty(l:options) ? ' ' . l:options : '') . ' %s'
-endfunction
-
-call ale#linter#Define('markdown', {
-\ 'name': 'markdownlint',
-\ 'executable': function('ale_linters#markdown#markdownlint#GetExecutable'),
-\ 'lint_file': 1,
-\ 'output_stream': 'both',
-\ 'command': function('ale_linters#markdown#markdownlint#GetCommand'),
-\ 'callback': 'ale#handlers#markdownlint#Handle'
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/markdown/mdl.vim b/dot_vim/plugged/ale/ale_linters/markdown/mdl.vim
deleted file mode 100644
index fd44de6..0000000
--- a/dot_vim/plugged/ale/ale_linters/markdown/mdl.vim
+++ /dev/null
@@ -1,43 +0,0 @@
-" Author: Steve Dignam , Josh Leeb-du Toit
-" Description: Support for mdl, a markdown linter.
-
-call ale#Set('markdown_mdl_executable', 'mdl')
-call ale#Set('markdown_mdl_options', '')
-
-function! ale_linters#markdown#mdl#GetExecutable(buffer) abort
- return ale#Var(a:buffer, 'markdown_mdl_executable')
-endfunction
-
-function! ale_linters#markdown#mdl#GetCommand(buffer) abort
- let l:executable = ale_linters#markdown#mdl#GetExecutable(a:buffer)
- let l:exec_args = l:executable =~? 'bundle$'
- \ ? ' exec mdl'
- \ : ''
-
- let l:options = ale#Var(a:buffer, 'markdown_mdl_options')
-
- return ale#Escape(l:executable) . l:exec_args
- \ . ' -j' . (!empty(l:options) ? ' ' . l:options : '')
-endfunction
-
-function! ale_linters#markdown#mdl#Handle(buffer, lines) abort
- let l:output = []
-
- for l:error in ale#util#FuzzyJSONDecode(a:lines, [])
- call add(l:output, {
- \ 'lnum': l:error['line'],
- \ 'code': l:error['rule'] . '/' . join(l:error['aliases'], '/'),
- \ 'text': l:error['description'],
- \ 'type': 'W',
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('markdown', {
-\ 'name': 'mdl',
-\ 'executable': function('ale_linters#markdown#mdl#GetExecutable'),
-\ 'command': function('ale_linters#markdown#mdl#GetCommand'),
-\ 'callback': 'ale_linters#markdown#mdl#Handle'
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/markdown/proselint.vim b/dot_vim/plugged/ale/ale_linters/markdown/proselint.vim
deleted file mode 100644
index 289d881..0000000
--- a/dot_vim/plugged/ale/ale_linters/markdown/proselint.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: poohzrn https://github.com/poohzrn
-" Description: proselint for Markdown files
-
-call ale#linter#Define('markdown', {
-\ 'name': 'proselint',
-\ 'executable': 'proselint',
-\ 'command': 'proselint %t',
-\ 'callback': 'ale#handlers#unix#HandleAsWarning',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/markdown/redpen.vim b/dot_vim/plugged/ale/ale_linters/markdown/redpen.vim
deleted file mode 100644
index ff2cbaf..0000000
--- a/dot_vim/plugged/ale/ale_linters/markdown/redpen.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: rhysd https://rhysd.github.io
-" Description: Redpen, a proofreading tool (http://redpen.cc)
-
-call ale#linter#Define('markdown', {
-\ 'name': 'redpen',
-\ 'executable': 'redpen',
-\ 'command': 'redpen -f markdown -r json %t',
-\ 'callback': 'ale#handlers#redpen#HandleRedpenOutput',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/markdown/remark_lint.vim b/dot_vim/plugged/ale/ale_linters/markdown/remark_lint.vim
deleted file mode 100644
index 6085e7e..0000000
--- a/dot_vim/plugged/ale/ale_linters/markdown/remark_lint.vim
+++ /dev/null
@@ -1,48 +0,0 @@
-scriptencoding utf-8
-" Author rhysd https://rhysd.github.io/, Dirk Roorda (dirkroorda), Adrián González Rus (@adrigzr)
-" Description: remark-lint for Markdown files
-call ale#Set('markdown_remark_lint_executable', 'remark')
-call ale#Set('markdown_remark_lint_use_global', get(g:, 'ale_use_global_executables', 0))
-call ale#Set('markdown_remark_lint_options', '')
-
-function! ale_linters#markdown#remark_lint#GetCommand(buffer) abort
- let l:options = ale#Var(a:buffer, 'markdown_remark_lint_options')
-
- return '%e' . ale#Pad(l:options) . ' --no-stdout --no-color'
-endfunction
-
-function! ale_linters#markdown#remark_lint#Handle(buffer, lines) abort
- " matches: ' 1:4 warning Incorrect list-item indent: add 1 space list-item-indent remark-lint'
- " matches: ' 18:71-19:1 error Missing new line after list item list-item-spacing remark-lint',
- let l:pattern = '^ \+\(\d\+\):\(\d\+\)\(-\(\d\+\):\(\d\+\)\)\? \(warning\|error\) \(.\+\)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:item = {
- \ 'lnum': l:match[1] + 0,
- \ 'col': l:match[2] + 0,
- \ 'type': l:match[6] is# 'error' ? 'E' : 'W',
- \ 'text': l:match[7],
- \}
-
- if l:match[3] isnot# ''
- let l:item.end_lnum = l:match[4] + 0
- let l:item.end_col = l:match[5] + 0
- endif
-
- call add(l:output, l:item)
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('markdown', {
-\ 'name': 'remark_lint',
-\ 'aliases': ['remark-lint'],
-\ 'executable': {b -> ale#path#FindExecutable(b, 'markdown_remark_lint', [
-\ 'node_modules/.bin/remark',
-\ ])},
-\ 'command': function('ale_linters#markdown#remark_lint#GetCommand'),
-\ 'callback': 'ale_linters#markdown#remark_lint#Handle',
-\ 'output_stream': 'stderr',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/markdown/textlint.vim b/dot_vim/plugged/ale/ale_linters/markdown/textlint.vim
deleted file mode 100644
index 613c841..0000000
--- a/dot_vim/plugged/ale/ale_linters/markdown/textlint.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: tokida https://rouger.info, Yasuhiro Kiyota
-" Description: textlint, a proofreading tool (https://textlint.github.io/)
-
-call ale#linter#Define('markdown', {
-\ 'name': 'textlint',
-\ 'executable': function('ale#handlers#textlint#GetExecutable'),
-\ 'command': function('ale#handlers#textlint#GetCommand'),
-\ 'callback': 'ale#handlers#textlint#HandleTextlintOutput',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/markdown/vale.vim b/dot_vim/plugged/ale/ale_linters/markdown/vale.vim
deleted file mode 100644
index 06a6441..0000000
--- a/dot_vim/plugged/ale/ale_linters/markdown/vale.vim
+++ /dev/null
@@ -1,24 +0,0 @@
-" Author: chew-z https://github.com/chew-z
-" Description: vale for Markdown files
-
-call ale#Set('markdown_vale_executable', 'vale')
-call ale#Set('markdown_vale_input_file', '%t')
-call ale#Set('markdown_vale_options', '')
-
-function! ale_linters#markdown#vale#GetCommand(buffer) abort
- let l:executable = ale#Var(a:buffer, 'markdown_vale_executable')
- let l:input_file = ale#Var(a:buffer, 'markdown_vale_input_file')
-
- " Defaults to `vale --output=JSON %t`
- return ale#Escape(l:executable)
- \ . ' --output=JSON '
- \ . ale#Var(a:buffer, 'markdown_vale_options')
- \ . ' ' . l:input_file
-endfunction
-
-call ale#linter#Define('markdown', {
-\ 'name': 'vale',
-\ 'executable': {b -> ale#Var(b, 'markdown_vale_executable')},
-\ 'command': function('ale_linters#markdown#vale#GetCommand'),
-\ 'callback': 'ale#handlers#vale#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/markdown/writegood.vim b/dot_vim/plugged/ale/ale_linters/markdown/writegood.vim
deleted file mode 100644
index 7108e7a..0000000
--- a/dot_vim/plugged/ale/ale_linters/markdown/writegood.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Author: Sumner Evans
-" Description: write-good for Markdown files
-
-call ale#handlers#writegood#DefineLinter('markdown')
diff --git a/dot_vim/plugged/ale/ale_linters/matlab/mlint.vim b/dot_vim/plugged/ale/ale_linters/matlab/mlint.vim
deleted file mode 100644
index e7daf37..0000000
--- a/dot_vim/plugged/ale/ale_linters/matlab/mlint.vim
+++ /dev/null
@@ -1,44 +0,0 @@
-" Author: awlayton
-" Description: mlint for MATLAB files
-
-call ale#Set('matlab_mlint_executable', 'mlint')
-
-function! ale_linters#matlab#mlint#Handle(buffer, lines) abort
- " Matches patterns like the following:
- "
- " L 27 (C 1): FNDEF: Terminate statement with semicolon to suppress output.
- " L 30 (C 13-15): FNDEF: A quoted string is unterminated.
- let l:pattern = '^L \(\d\+\) (C \([0-9-]\+\)): \([A-Z]\+\): \(.\+\)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:lnum = l:match[1] + 0
- let l:col = l:match[2] + 0
- let l:code = l:match[3]
- let l:text = l:match[4]
-
- " Suppress erroneous warning about filename
- " TODO: Enable this error when copying filename is supported
- if l:code is# 'FNDEF'
- continue
- endif
-
- call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': l:lnum,
- \ 'col': l:col,
- \ 'text': l:text,
- \ 'type': 'W',
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('matlab', {
-\ 'name': 'mlint',
-\ 'executable': {b -> ale#Var(b, 'matlab_mlint_executable')},
-\ 'command': '%e -id %t',
-\ 'output_stream': 'stderr',
-\ 'callback': 'ale_linters#matlab#mlint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/mercury/mmc.vim b/dot_vim/plugged/ale/ale_linters/mercury/mmc.vim
deleted file mode 100644
index 85969e1..0000000
--- a/dot_vim/plugged/ale/ale_linters/mercury/mmc.vim
+++ /dev/null
@@ -1,38 +0,0 @@
-" Author: stewy33
-" Description: Lints mercury files using mmc
-
-call ale#Set('mercury_mmc_executable', 'mmc')
-call ale#Set('mercury_mmc_options', '--make --output-compile-error-lines 100')
-
-function! ale_linters#mercury#mmc#GetCommand(buffer) abort
- return '%e --errorcheck-only '
- \ . ale#Var(a:buffer, 'mercury_mmc_options')
- \ . ' %s:t:r'
-endfunction
-
-function! ale_linters#mercury#mmc#Handle(buffer, lines) abort
- " output format
- " :: :
- let l:pattern = '\v^\w+\.m:(\d+):\s+([W|w]arning|.*[E|e]rror.*): (.*)'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': substitute(l:match[1], '\v^0*', '', '') + 0,
- \ 'type': l:match[2][0] =~? 'W' ? 'W' : 'E',
- \ 'text': l:match[2] . ': ' . l:match[3]
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('mercury', {
-\ 'name': 'mmc',
-\ 'output_stream': 'stderr',
-\ 'executable': {b -> ale#Var(b, 'mercury_mmc_executable')},
-\ 'cwd': '%s:h',
-\ 'command': function('ale_linters#mercury#mmc#GetCommand'),
-\ 'callback': 'ale_linters#mercury#mmc#Handle',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/nasm/nasm.vim b/dot_vim/plugged/ale/ale_linters/nasm/nasm.vim
deleted file mode 100644
index c4f5362..0000000
--- a/dot_vim/plugged/ale/ale_linters/nasm/nasm.vim
+++ /dev/null
@@ -1,41 +0,0 @@
-" Author: Oyvind Ingvaldsen
-" Description: NASM linter for asmsyntax nasm.
-
-call ale#Set('nasm_nasm_executable', 'nasm')
-call ale#Set('nasm_nasm_options', '')
-
-function! ale_linters#nasm#nasm#GetCommand(buffer) abort
- " Note that NASM requires a trailing slash for the -I option.
- let l:separator = has('win32') ? '\' : '/'
- let l:output_null = has('win32') ? 'NUL' : '/dev/null'
-
- return '%e -X gnu -I %s:h' . l:separator
- \ . ale#Pad(ale#Var(a:buffer, 'nasm_nasm_options'))
- \ . ' %s'
- \ . ' -o ' . l:output_null
-endfunction
-
-function! ale_linters#nasm#nasm#Handle(buffer, lines) abort
- " Note that we treat 'fatal' as errors.
- let l:pattern = '^.\+:\(\d\+\): \([^:]\+\): \(.\+\)$'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': l:match[1] + 0,
- \ 'type': l:match[2] =~? 'error\|fatal' ? 'E' : 'W',
- \ 'text': l:match[3],
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('nasm', {
-\ 'name': 'nasm',
-\ 'output_stream': 'stderr',
-\ 'lint_file': 1,
-\ 'executable': {b -> ale#Var(b, 'nasm_nasm_executable')},
-\ 'command': function('ale_linters#nasm#nasm#GetCommand'),
-\ 'callback': 'ale_linters#nasm#nasm#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/nim/nimcheck.vim b/dot_vim/plugged/ale/ale_linters/nim/nimcheck.vim
deleted file mode 100644
index b739ca0..0000000
--- a/dot_vim/plugged/ale/ale_linters/nim/nimcheck.vim
+++ /dev/null
@@ -1,79 +0,0 @@
-" Author: Baabelfish
-" Description: Typechecking for nim files
-
-let s:end_col_patterns = [
-\ '\v''([^'']+)'' is declared but not used.*',
-\ '\videntifier expected, but found ''([^'']+)''',
-\ '\vimported and not used: ''([^'']+)''.*',
-\ '\vundeclared identifier: ''([^'']+)''',
-\ '\v''([^'']+)'' cannot be assigned to',
-\ '\vredefinition of ''([^'']+)'';',
-\]
-
-function! ale_linters#nim#nimcheck#Handle(buffer, lines) abort
- let l:buffer_filename = fnamemodify(bufname(a:buffer), ':p:t')
- let l:pattern = '^\(.\+\.nim\)(\(\d\+\), \(\d\+\)) \(.\+\)'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- " Only show errors of the current buffer
- " NOTE: Checking filename only is OK because nim enforces unique
- " module names.
- let l:temp_buffer_filename = fnamemodify(l:match[1], ':p:t')
-
- if l:buffer_filename isnot# '' && l:temp_buffer_filename isnot# l:buffer_filename
- continue
- endif
-
- let l:item = {
- \ 'lnum': l:match[2] + 0,
- \ 'col': l:match[3] + 0,
- \ 'text': l:match[4],
- \ 'type': 'W',
- \}
-
- " Extract error type from message of type 'Error: Some error message'
- let l:error_match = matchlist(l:item.text, '^\(.\{-}\): \(.\+\)$')
-
- if !empty(l:error_match)
- if l:error_match[1] is# 'Error'
- let l:item.type = 'E'
- let l:item.text = l:error_match[2]
- elseif l:error_match[1] is# 'Warning'
- \|| l:error_match[1] is# 'Hint'
- let l:item.text = l:error_match[2]
- endif
- endif
-
- let l:code_match = matchlist(l:item.text, '\v^(.+) \[([^ \[]+)\]$')
-
- if !empty(l:code_match)
- let l:item.text = l:code_match[1]
- let l:item.code = l:code_match[2]
- endif
-
- " Find position end_col.
- for l:col_match in ale#util#GetMatches(l:item.text, s:end_col_patterns)
- let l:item.end_col = l:item.col + len(l:col_match[1]) - 1
- endfor
-
- call add(l:output, l:item)
- endfor
-
- return l:output
-endfunction
-
-
-function! ale_linters#nim#nimcheck#GetCommand(buffer) abort
- return 'nim check --verbosity:0 --colors:off --listFullPaths %s'
-endfunction
-
-
-call ale#linter#Define('nim', {
-\ 'name': 'nimcheck',
-\ 'executable': 'nim',
-\ 'output_stream': 'both',
-\ 'command': function('ale_linters#nim#nimcheck#GetCommand'),
-\ 'callback': 'ale_linters#nim#nimcheck#Handle',
-\ 'lint_file': 1,
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/nim/nimlsp.vim b/dot_vim/plugged/ale/ale_linters/nim/nimlsp.vim
deleted file mode 100644
index 5d04104..0000000
--- a/dot_vim/plugged/ale/ale_linters/nim/nimlsp.vim
+++ /dev/null
@@ -1,33 +0,0 @@
-" Author: jeremija
-" Description: Support for nimlsp (language server for nim)
-
-call ale#Set('nim_nimlsp_nim_sources', '')
-
-function! ale_linters#nim#nimlsp#GetProjectRoot(buffer) abort
- let l:project_root = ale#path#FindNearestDirectory(a:buffer, '.git')
-
- if !empty(l:project_root)
- return fnamemodify(l:project_root, ':h:h')
- endif
-
- return ''
-endfunction
-
-function! ale_linters#nim#nimlsp#GetCommand(buffer) abort
- let l:nim_sources = ale#Var(a:buffer, 'nim_nimlsp_nim_sources')
-
- if !empty(l:nim_sources)
- let l:nim_sources = ale#Escape(l:nim_sources)
- endif
-
- return '%e' . ale#Pad(l:nim_sources)
-endfunction
-
-call ale#linter#Define('nim', {
-\ 'name': 'nimlsp',
-\ 'lsp': 'stdio',
-\ 'executable': 'nimlsp',
-\ 'command': function('ale_linters#nim#nimlsp#GetCommand'),
-\ 'language': 'nim',
-\ 'project_root': function('ale_linters#nim#nimlsp#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/nix/nix.vim b/dot_vim/plugged/ale/ale_linters/nix/nix.vim
deleted file mode 100644
index 5d80f65..0000000
--- a/dot_vim/plugged/ale/ale_linters/nix/nix.vim
+++ /dev/null
@@ -1,63 +0,0 @@
-" Author: Alistair Bill <@alibabzo>
-" Author: Maximilian Bosch
-" Description: nix-instantiate linter for nix files
-
-function! ale_linters#nix#nix#Command(buffer, output, meta) abort
- let l:version = a:output[0][22:]
-
- if l:version =~# '^\(1\|2.[0-3]\.\).*'
- return 'nix-instantiate --parse -'
- else
- return 'nix-instantiate --log-format internal-json --parse -'
- endif
-endfunction
-
-function! ale_linters#nix#nix#Handle(buffer, lines) abort
- let l:output = []
-
- if empty(a:lines)
- return l:output
- endif
-
- if a:lines[0] =~# '^@nix .*'
- for l:line in a:lines
- if l:line =~# '^@nix .*'
- let l:result = json_decode(strpart(l:line, 4))
-
- if has_key(l:result, 'column')
- call add(l:output, {
- \ 'type': 'E',
- \ 'lnum': l:result.line,
- \ 'col': l:result.column,
- \ 'text': l:result.raw_msg
- \})
- endif
- endif
- endfor
- else
- let l:pattern = '^\(.\+\): \(.\+\) at .*:\(\d\+\):\(\d\+\)$'
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': l:match[3] + 0,
- \ 'col': l:match[4] + 0,
- \ 'text': l:match[1] . ': ' . substitute(l:match[2], ',$', '', ''),
- \ 'type': l:match[1] =~# '^error' ? 'E' : 'W',
- \})
- endfor
- endif
-
- return l:output
-endfunction
-
-call ale#linter#Define('nix', {
-\ 'name': 'nix',
-\ 'output_stream': 'stderr',
-\ 'executable': 'nix-instantiate',
-\ 'command': {buffer -> ale#command#Run(
-\ buffer,
-\ 'nix-instantiate --version',
-\ function('ale_linters#nix#nix#Command')
-\ )},
-\ 'callback': 'ale_linters#nix#nix#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/nix/rnix_lsp.vim b/dot_vim/plugged/ale/ale_linters/nix/rnix_lsp.vim
deleted file mode 100644
index 949bed1..0000000
--- a/dot_vim/plugged/ale/ale_linters/nix/rnix_lsp.vim
+++ /dev/null
@@ -1,16 +0,0 @@
-" Author: jD91mZM2
-" Description: rnix-lsp language client
-
-function! ale_linters#nix#rnix_lsp#GetProjectRoot(buffer) abort
- " rnix-lsp does not yet use the project root, so getting it right is not
- " important
- return fnamemodify(a:buffer, ':h')
-endfunction
-
-call ale#linter#Define('nix', {
-\ 'name': 'rnix_lsp',
-\ 'lsp': 'stdio',
-\ 'executable': 'rnix-lsp',
-\ 'command': '%e',
-\ 'project_root': function('ale_linters#nix#rnix_lsp#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/nix/statix.vim b/dot_vim/plugged/ale/ale_linters/nix/statix.vim
deleted file mode 100644
index a90a68a..0000000
--- a/dot_vim/plugged/ale/ale_linters/nix/statix.vim
+++ /dev/null
@@ -1,18 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: statix analysis and suggestions for Nix files
-
-call ale#Set('nix_statix_check_executable', 'statix')
-call ale#Set('nix_statix_check_options', '')
-
-function! ale_linters#nix#statix#GetCommand(buffer) abort
- return '%e check -o errfmt --stdin'
- \ . ale#Pad(ale#Var(a:buffer, 'nix_statix_check_options'))
-endfunction
-
-call ale#linter#Define('nix', {
-\ 'name': 'statix',
-\ 'executable': {b -> ale#Var(b, 'nix_statix_check_executable')},
-\ 'command': function('ale_linters#nix#statix#GetCommand'),
-\ 'callback': 'ale#handlers#statix#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/nroff/alex.vim b/dot_vim/plugged/ale/ale_linters/nroff/alex.vim
deleted file mode 100644
index 3f06af2..0000000
--- a/dot_vim/plugged/ale/ale_linters/nroff/alex.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Author: Johannes Wienke
-" Description: alex for nroff files
-
-call ale#handlers#alex#DefineLinter('nroff', '--text')
diff --git a/dot_vim/plugged/ale/ale_linters/nroff/proselint.vim b/dot_vim/plugged/ale/ale_linters/nroff/proselint.vim
deleted file mode 100644
index a23e56b..0000000
--- a/dot_vim/plugged/ale/ale_linters/nroff/proselint.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-" Author: Daniel M. Capella https://github.com/polyzen
-" Description: proselint for nroff files
-
-call ale#linter#Define('nroff', {
-\ 'name': 'proselint',
-\ 'executable': 'proselint',
-\ 'command': 'proselint %t',
-\ 'callback': 'ale#handlers#unix#HandleAsWarning',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/nroff/writegood.vim b/dot_vim/plugged/ale/ale_linters/nroff/writegood.vim
deleted file mode 100644
index bcf344f..0000000
--- a/dot_vim/plugged/ale/ale_linters/nroff/writegood.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Author: Sumner Evans
-" Description: write-good for nroff files
-
-call ale#handlers#writegood#DefineLinter('nroff')
diff --git a/dot_vim/plugged/ale/ale_linters/objc/ccls.vim b/dot_vim/plugged/ale/ale_linters/objc/ccls.vim
deleted file mode 100644
index 7aef532..0000000
--- a/dot_vim/plugged/ale/ale_linters/objc/ccls.vim
+++ /dev/null
@@ -1,15 +0,0 @@
-" Author: Ye Jingchen , Ben Falconer , jtalowell
-" Description: A language server for Objective-C
-
-call ale#Set('objc_ccls_executable', 'ccls')
-call ale#Set('objc_ccls_init_options', {})
-call ale#Set('c_build_dir', '')
-
-call ale#linter#Define('objc', {
-\ 'name': 'ccls',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'objc_ccls_executable')},
-\ 'command': '%e',
-\ 'project_root': function('ale#handlers#ccls#GetProjectRoot'),
-\ 'initialization_options': {b -> ale#handlers#ccls#GetInitOpts(b, 'objc_ccls_init_options')},
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/objc/clang.vim b/dot_vim/plugged/ale/ale_linters/objc/clang.vim
deleted file mode 100644
index cafb97d..0000000
--- a/dot_vim/plugged/ale/ale_linters/objc/clang.vim
+++ /dev/null
@@ -1,23 +0,0 @@
-" Author: Bang Lee
-" Description: clang linter for objc files
-
-" Set this option to change the Clang options for warnings for ObjC.
-if !exists('g:ale_objc_clang_options')
- let g:ale_objc_clang_options = '-std=c11 -Wall'
-endif
-
-function! ale_linters#objc#clang#GetCommand(buffer) abort
- " -iquote with the directory the file is in makes #include work for
- " headers in the same directory.
- return 'clang -S -x objective-c -fsyntax-only '
- \ . '-iquote %s:h'
- \ . ' ' . ale#Var(a:buffer, 'objc_clang_options') . ' -'
-endfunction
-
-call ale#linter#Define('objc', {
-\ 'name': 'clang',
-\ 'output_stream': 'stderr',
-\ 'executable': 'clang',
-\ 'command': function('ale_linters#objc#clang#GetCommand'),
-\ 'callback': 'ale#handlers#gcc#HandleGCCFormatWithIncludes',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/objc/clangd.vim b/dot_vim/plugged/ale/ale_linters/objc/clangd.vim
deleted file mode 100644
index 318d85b..0000000
--- a/dot_vim/plugged/ale/ale_linters/objc/clangd.vim
+++ /dev/null
@@ -1,17 +0,0 @@
-" Author: Andrey Melentyev
-" Description: Clangd language server
-
-call ale#Set('objc_clangd_executable', 'clangd')
-call ale#Set('objc_clangd_options', '')
-
-function! ale_linters#objc#clangd#GetCommand(buffer) abort
- return '%e' . ale#Pad(ale#Var(a:buffer, 'objc_clangd_options'))
-endfunction
-
-call ale#linter#Define('objc', {
-\ 'name': 'clangd',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'objc_clangd_executable')},
-\ 'command': function('ale_linters#objc#clangd#GetCommand'),
-\ 'project_root': function('ale#c#FindProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/objcpp/clang.vim b/dot_vim/plugged/ale/ale_linters/objcpp/clang.vim
deleted file mode 100644
index 35a40c6..0000000
--- a/dot_vim/plugged/ale/ale_linters/objcpp/clang.vim
+++ /dev/null
@@ -1,23 +0,0 @@
-" Author: Bang Lee
-" Description: clang linter for objcpp files
-
-" Set this option to change the Clang options for warnings for ObjCPP.
-if !exists('g:ale_objcpp_clang_options')
- let g:ale_objcpp_clang_options = '-std=c++14 -Wall'
-endif
-
-function! ale_linters#objcpp#clang#GetCommand(buffer) abort
- " -iquote with the directory the file is in makes #include work for
- " headers in the same directory.
- return 'clang++ -S -x objective-c++ -fsyntax-only '
- \ . '-iquote %s:h'
- \ . ' ' . ale#Var(a:buffer, 'objcpp_clang_options') . ' -'
-endfunction
-
-call ale#linter#Define('objcpp', {
-\ 'name': 'clang',
-\ 'output_stream': 'stderr',
-\ 'executable': 'clang++',
-\ 'command': function('ale_linters#objcpp#clang#GetCommand'),
-\ 'callback': 'ale#handlers#gcc#HandleGCCFormatWithIncludes',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/objcpp/clangd.vim b/dot_vim/plugged/ale/ale_linters/objcpp/clangd.vim
deleted file mode 100644
index 2945532..0000000
--- a/dot_vim/plugged/ale/ale_linters/objcpp/clangd.vim
+++ /dev/null
@@ -1,17 +0,0 @@
-" Author: Andrey Melentyev
-" Description: Clangd language server
-
-call ale#Set('objcpp_clangd_executable', 'clangd')
-call ale#Set('objcpp_clangd_options', '')
-
-function! ale_linters#objcpp#clangd#GetCommand(buffer) abort
- return '%e' . ale#Pad(ale#Var(a:buffer, 'objcpp_clangd_options'))
-endfunction
-
-call ale#linter#Define('objcpp', {
-\ 'name': 'clangd',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#Var(b, 'objcpp_clangd_executable')},
-\ 'command': function('ale_linters#objcpp#clangd#GetCommand'),
-\ 'project_root': function('ale#c#FindProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/ocaml/merlin.vim b/dot_vim/plugged/ale/ale_linters/ocaml/merlin.vim
deleted file mode 100644
index cfec996..0000000
--- a/dot_vim/plugged/ale/ale_linters/ocaml/merlin.vim
+++ /dev/null
@@ -1,17 +0,0 @@
-" Author: Andrey Popp -- @andreypopp
-" Description: Report errors in OCaml code with Merlin
-
-if !exists('g:merlin')
- finish
-endif
-
-function! ale_linters#ocaml#merlin#Handle(buffer, lines) abort
- return merlin#ErrorLocList()
-endfunction
-
-call ale#linter#Define('ocaml', {
-\ 'name': 'merlin',
-\ 'executable': 'ocamlmerlin',
-\ 'command': 'true',
-\ 'callback': 'ale_linters#ocaml#merlin#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/ocaml/ocamllsp.vim b/dot_vim/plugged/ale/ale_linters/ocaml/ocamllsp.vim
deleted file mode 100644
index 4ff7419..0000000
--- a/dot_vim/plugged/ale/ale_linters/ocaml/ocamllsp.vim
+++ /dev/null
@@ -1,13 +0,0 @@
-" Author: Risto Stevcev
-" Description: The official language server for OCaml
-
-call ale#Set('ocaml_ocamllsp_use_opam', 1)
-
-call ale#linter#Define('ocaml', {
-\ 'name': 'ocamllsp',
-\ 'lsp': 'stdio',
-\ 'executable': function('ale#handlers#ocamllsp#GetExecutable'),
-\ 'command': function('ale#handlers#ocamllsp#GetCommand'),
-\ 'language': function('ale#handlers#ocamllsp#GetLanguage'),
-\ 'project_root': function('ale#handlers#ocamllsp#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/ocaml/ols.vim b/dot_vim/plugged/ale/ale_linters/ocaml/ols.vim
deleted file mode 100644
index ec71bdb..0000000
--- a/dot_vim/plugged/ale/ale_linters/ocaml/ols.vim
+++ /dev/null
@@ -1,14 +0,0 @@
-" Author: Michael Jungo
-" Description: A language server for OCaml
-
-call ale#Set('ocaml_ols_executable', 'ocaml-language-server')
-call ale#Set('ocaml_ols_use_global', get(g:, 'ale_use_global_executables', 0))
-
-call ale#linter#Define('ocaml', {
-\ 'name': 'ols',
-\ 'lsp': 'stdio',
-\ 'executable': function('ale#handlers#ols#GetExecutable'),
-\ 'command': function('ale#handlers#ols#GetCommand'),
-\ 'language': function('ale#handlers#ols#GetLanguage'),
-\ 'project_root': function('ale#handlers#ols#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/ocamlinterface/merlin.vim b/dot_vim/plugged/ale/ale_linters/ocamlinterface/merlin.vim
deleted file mode 100644
index 799490f..0000000
--- a/dot_vim/plugged/ale/ale_linters/ocamlinterface/merlin.vim
+++ /dev/null
@@ -1,17 +0,0 @@
-" Author: Andrey Popp -- @andreypopp
-" Description: Report errors in OCaml code with Merlin
-
-if !exists('g:merlin')
- finish
-endif
-
-function! ale_linters#ocamlinterface#merlin#Handle(buffer, lines) abort
- return merlin#ErrorLocList()
-endfunction
-
-call ale#linter#Define('ocamlinterface', {
-\ 'name': 'merlin',
-\ 'executable': 'ocamlmerlin',
-\ 'command': 'true',
-\ 'callback': 'ale_linters#ocamlinterface#merlin#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/ocamlinterface/ocamllsp.vim b/dot_vim/plugged/ale/ale_linters/ocamlinterface/ocamllsp.vim
deleted file mode 100644
index cd4bea8..0000000
--- a/dot_vim/plugged/ale/ale_linters/ocamlinterface/ocamllsp.vim
+++ /dev/null
@@ -1,13 +0,0 @@
-" Author: Risto Stevcev
-" Description: The official language server for OCaml
-
-call ale#Set('ocaml_ocamllsp_use_opam', 1)
-
-call ale#linter#Define('ocamlinterface', {
-\ 'name': 'ocamllsp',
-\ 'lsp': 'stdio',
-\ 'executable': function('ale#handlers#ocamllsp#GetExecutable'),
-\ 'command': function('ale#handlers#ocamllsp#GetCommand'),
-\ 'language': function('ale#handlers#ocamllsp#GetLanguage'),
-\ 'project_root': function('ale#handlers#ocamllsp#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/openapi/ibm_validator.vim b/dot_vim/plugged/ale/ale_linters/openapi/ibm_validator.vim
deleted file mode 100644
index 446931a..0000000
--- a/dot_vim/plugged/ale/ale_linters/openapi/ibm_validator.vim
+++ /dev/null
@@ -1,58 +0,0 @@
-" Author: Horacio Sanson
-
-call ale#Set('openapi_ibm_validator_executable', 'lint-openapi')
-call ale#Set('openapi_ibm_validator_options', '')
-
-function! ale_linters#openapi#ibm_validator#GetCommand(buffer) abort
- return '%e' . ale#Pad(ale#Var(a:buffer, 'openapi_ibm_validator_options'))
- \ . ' %t'
-endfunction
-
-function! ale_linters#openapi#ibm_validator#Handle(buffer, lines) abort
- let l:output = []
- let l:type = 'E'
- let l:message = ''
- let l:nr = -1
-
- for l:line in a:lines
- let l:match = matchlist(l:line, '^errors$')
-
- if !empty(l:match)
- let l:type = 'E'
- endif
-
- let l:match = matchlist(l:line, '^warnings$')
-
- if !empty(l:match)
- let l:type = 'W'
- endif
-
- let l:match = matchlist(l:line, '^ *Message : *\(.\+\)$')
-
- if !empty(l:match)
- let l:message = l:match[1]
- endif
-
- let l:match = matchlist(l:line, '^ *Line *: *\(\d\+\)$')
-
- if !empty(l:match)
- let l:nr = l:match[1]
-
- call add(l:output, {
- \ 'lnum': l:nr + 0,
- \ 'col': 0,
- \ 'text': l:message,
- \ 'type': l:type,
- \})
- endif
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('openapi', {
-\ 'name': 'ibm_validator',
-\ 'executable': {b -> ale#Var(b, 'openapi_ibm_validator_executable')},
-\ 'command': function('ale_linters#openapi#ibm_validator#GetCommand'),
-\ 'callback': 'ale_linters#openapi#ibm_validator#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/openapi/yamllint.vim b/dot_vim/plugged/ale/ale_linters/openapi/yamllint.vim
deleted file mode 100644
index 2b8952c..0000000
--- a/dot_vim/plugged/ale/ale_linters/openapi/yamllint.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-call ale#Set('yaml_yamllint_executable', 'yamllint')
-call ale#Set('yaml_yamllint_options', '')
-
-call ale#linter#Define('openapi', {
-\ 'name': 'yamllint',
-\ 'executable': {b -> ale#Var(b, 'yaml_yamllint_executable')},
-\ 'command': function('ale#handlers#yamllint#GetCommand'),
-\ 'callback': 'ale#handlers#yamllint#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/openscad/sca2d.vim b/dot_vim/plugged/ale/ale_linters/openscad/sca2d.vim
deleted file mode 100644
index 60804a1..0000000
--- a/dot_vim/plugged/ale/ale_linters/openscad/sca2d.vim
+++ /dev/null
@@ -1,24 +0,0 @@
-" Description: SCA2D linter for OpenSCAD files
-
-call ale#Set('openscad_sca2d_executable', 'sca2d')
-call ale#Set('openscad_sca2d_options', '')
-
-function! ale_linters#openscad#sca2d#GetExecutable(buffer) abort
- return ale#Var(a:buffer, 'openscad_sca2d_executable')
-endfunction
-
-function! ale_linters#openscad#sca2d#GetCommand(buffer) abort
- let l:executable = ale_linters#openscad#sca2d#GetExecutable(a:buffer)
- let l:options = ale#Var(a:buffer, 'openscad_sca2d_options')
-
- return ale#Escape(l:executable) . ale#Pad(l:options) . ' %s'
-endfunction
-
-call ale#linter#Define('openscad', {
-\ 'name': 'SCA2D',
-\ 'aliases': ['sca2d'],
-\ 'executable': function('ale_linters#openscad#sca2d#GetExecutable'),
-\ 'command': function('ale_linters#openscad#sca2d#GetCommand'),
-\ 'callback': 'ale#handlers#openscad#SCA2D_callback',
-\ 'lint_file': 1,
-\ })
diff --git a/dot_vim/plugged/ale/ale_linters/perl/perl.vim b/dot_vim/plugged/ale/ale_linters/perl/perl.vim
deleted file mode 100644
index 0f06528..0000000
--- a/dot_vim/plugged/ale/ale_linters/perl/perl.vim
+++ /dev/null
@@ -1,64 +0,0 @@
-" Author: Vincent Lequertier
-" Description: This file adds support for checking perl syntax
-
-call ale#Set('perl_perl_executable', 'perl')
-call ale#Set('perl_perl_options', '-c -Mwarnings -Ilib')
-
-function! ale_linters#perl#perl#GetCommand(buffer) abort
- return '%e' . ale#Pad(ale#Var(a:buffer, 'perl_perl_options')) . ' %t'
-endfunction
-
-let s:begin_failed_skip_pattern = '\v' . join([
-\ '^Compilation failed in require',
-\ '^Can''t locate',
-\], '|')
-
-function! ale_linters#perl#perl#Handle(buffer, lines) abort
- if empty(a:lines)
- return []
- endif
-
- let l:pattern = '\(..\{-}\) at \(..\{-}\) line \(\d\+\)'
- let l:output = []
- let l:basename = expand('#' . a:buffer . ':t')
-
- let l:type = 'E'
-
- if a:lines[-1] =~# 'syntax OK'
- let l:type = 'W'
- endif
-
- let l:seen = {}
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- let l:line = l:match[3]
- let l:file = l:match[2]
- let l:text = l:match[1]
-
- if ale#path#IsBufferPath(a:buffer, l:file)
- \ && !has_key(l:seen,l:line)
- \ && (
- \ l:text isnot# 'BEGIN failed--compilation aborted'
- \ || empty(l:output)
- \ || match(l:output[-1].text, s:begin_failed_skip_pattern) < 0
- \ )
- call add(l:output, {
- \ 'lnum': l:line,
- \ 'text': l:text,
- \ 'type': l:type,
- \})
-
- let l:seen[l:line] = 1
- endif
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('perl', {
-\ 'name': 'perl',
-\ 'executable': {b -> ale#Var(b, 'perl_perl_executable')},
-\ 'output_stream': 'both',
-\ 'command': function('ale_linters#perl#perl#GetCommand'),
-\ 'callback': 'ale_linters#perl#perl#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/perl/perlcritic.vim b/dot_vim/plugged/ale/ale_linters/perl/perlcritic.vim
deleted file mode 100644
index f3154c0..0000000
--- a/dot_vim/plugged/ale/ale_linters/perl/perlcritic.vim
+++ /dev/null
@@ -1,61 +0,0 @@
-" Author: Vincent Lequertier , Chris Weyl
-" Description: This file adds support for checking perl with perl critic
-
-call ale#Set('perl_perlcritic_executable', 'perlcritic')
-call ale#Set('perl_perlcritic_profile', '.perlcriticrc')
-call ale#Set('perl_perlcritic_options', '')
-call ale#Set('perl_perlcritic_showrules', 0)
-
-function! ale_linters#perl#perlcritic#GetProfile(buffer) abort
- " first see if we've been overridden
- let l:profile = ale#Var(a:buffer, 'perl_perlcritic_profile')
-
- if l:profile is? ''
- return ''
- endif
-
- " otherwise, iterate upwards to find it
- return ale#path#FindNearestFile(a:buffer, l:profile)
-endfunction
-
-function! ale_linters#perl#perlcritic#GetCommand(buffer) abort
- let l:critic_verbosity = '%l:%c %m\n'
-
- if ale#Var(a:buffer, 'perl_perlcritic_showrules')
- let l:critic_verbosity = '%l:%c %m [%p]\n'
- endif
-
- let l:profile = ale_linters#perl#perlcritic#GetProfile(a:buffer)
- let l:options = ale#Var(a:buffer, 'perl_perlcritic_options')
-
- return '%e'
- \ . ' --verbose ' . ale#Escape(l:critic_verbosity)
- \ . ' --nocolor'
- \ . (!empty(l:profile) ? ' --profile ' . ale#Escape(l:profile) : '')
- \ . ale#Pad(l:options)
-endfunction
-
-
-function! ale_linters#perl#perlcritic#Handle(buffer, lines) abort
- let l:pattern = '\(\d\+\):\(\d\+\) \(.\+\)'
- let l:output = []
-
- for l:match in ale#util#GetMatches(a:lines, l:pattern)
- call add(l:output, {
- \ 'lnum': l:match[1],
- \ 'col': l:match[2],
- \ 'text': l:match[3],
- \ 'type': 'W'
- \})
- endfor
-
- return l:output
-endfunction
-
-call ale#linter#Define('perl', {
-\ 'name': 'perlcritic',
-\ 'output_stream': 'stdout',
-\ 'executable': {b -> ale#Var(b, 'perl_perlcritic_executable')},
-\ 'command': function('ale_linters#perl#perlcritic#GetCommand'),
-\ 'callback': 'ale_linters#perl#perlcritic#Handle',
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/perl6/perl6.vim b/dot_vim/plugged/ale/ale_linters/perl6/perl6.vim
deleted file mode 100644
index 444ae4d..0000000
--- a/dot_vim/plugged/ale/ale_linters/perl6/perl6.vim
+++ /dev/null
@@ -1,166 +0,0 @@
-" Author:Travis Gibson
-" Description: This file adds support for checking perl6 syntax
-
-let g:ale_perl6_perl6_executable =
-\ get(g:, 'ale_perl6_perl6_executable', 'perl6')
-
-let g:ale_perl6_perl6_options =
-\ get(g:, 'ale_perl6_perl6_options', '-c -Ilib')
-
-let $PERL6_EXCEPTIONS_HANDLER = 'JSON'
-
-let $RAKUDO_ERROR_COLOR = 0
-
-function! ale_linters#perl6#perl6#GetExecutable(buffer) abort
- return ale#Var(a:buffer, 'perl6_perl6_executable')
-endfunction
-
-function! ale_linters#perl6#perl6#GetCommand(buffer) abort
- return ale_linters#perl6#perl6#GetExecutable(a:buffer)
- \ . ' ' . ale#Var(a:buffer, 'perl6_perl6_options')
- \ . ' %t'
-endfunction
-
-function! ale_linters#perl6#perl6#ExtractError(dict, item, type, buffer) abort
- let l:file = ''
- let l:line = 1
- let l:column = ''
- let l:text = ''
- let l:pre = ''
- let l:counter = 2
- let l:end_line = ''
- let l:linepatternmessage = 'at\s\+line\s\+\(\d\+\)'
-
- if has_key(a:dict[a:item], 'filename') && !empty(a:dict[a:item]['filename'])
- let l:file = a:dict[a:item]['filename']
- endif
-
- if has_key(a:dict[a:item], 'line') && !empty(a:dict[a:item]['line'])
- let l:line = a:dict[a:item]['line']
- let l:counter -= 1
- endif
-
- if has_key(a:dict[a:item], 'column') && !empty(a:dict[a:item]['column'])
- let l:column = a:dict[a:item]['column']
- endif
-
- if has_key(a:dict[a:item], 'message') && !empty(a:dict[a:item]['message'])
- let l:text = substitute(a:dict[a:item]['message'], '\s*\n\s*', ' ', 'g')
- let l:counter -= 1
- endif
-
- if has_key(a:dict[a:item], 'line-real') && !empty(a:dict[a:item]['line-real'])
- let l:end_line = l:line
- let l:line = a:dict[a:item]['line-real']
- endif
-
- for l:match in ale#util#GetMatches(l:text, l:linepatternmessage)
- let l:line = l:match[1]
- let l:counter -= 1
- endfor
-
-" Currently, filenames and line numbers are not always given in the error output
- if l:counter < 2
- \&& ( ale#path#IsBufferPath(a:buffer, l:file) || l:file is# '' )
- return {
- \ 'lnum': '' . l:line,
- \ 'text': l:text,
- \ 'type': a:type,
- \ 'col': l:column,
- \ 'end_lnum': l:end_line,
- \ 'code': a:item,
- \}
- endif
-
- return ''
-endfunction
-
-function! ale_linters#perl6#perl6#Handle(buffer, lines) abort
- let l:output = []
-
- if empty(a:lines)
- return l:output
- endif
-
- if a:lines[0] is# 'Syntax OK'
- return l:output
- endif
-
- try
- let l:json = json_decode(join(a:lines, ''))
- catch /E474\|E491/
- call add(l:output, {
- \ 'lnum': '1',
- \ 'text': 'Received output in the default Perl6 error format. See :ALEDetail for details',
- \ 'detail': join(a:lines, "\n"),
- \ 'type': 'W',
- \ })
-
- return l:output
- endtry
-
- if type(l:json) is v:t_dict
- for l:key in keys(l:json)
- if has_key(l:json[l:key], 'sorrows')
- \&& has_key(l:json[l:key], 'worries')
- if !empty(l:json[l:key]['sorrows'])
- for l:dictionary in get(l:json[l:key], 'sorrows')
- for l:item in keys(l:dictionary)
- let l:result =
- \ ale_linters#perl6#perl6#ExtractError(
- \ l:dictionary,
- \ l:item,
- \ 'E',
- \ a:buffer,
- \ )
-
- if l:result isnot# ''
- call add(l:output, l:result)
- endif
- endfor
- endfor
- endif
-
- if !empty(l:json[l:key]['worries'])
- for l:dictionary in get(l:json[l:key], 'worries')
- for l:item in keys(l:dictionary)
- let l:result =
- \ ale_linters#perl6#perl6#ExtractError(
- \ l:dictionary,
- \ l:item,
- \ 'W',
- \ a:buffer,
- \ )
-
- if l:result isnot# ''
- call add(l:output, l:result)
- endif
- endfor
- endfor
- endif
- else
- let l:result = ale_linters#perl6#perl6#ExtractError(
- \ l:json,
- \ l:key,
- \ 'E',
- \ a:buffer,
- \ )
-
- if l:result isnot# ''
- call add(l:output, l:result)
- endif
- endif
- endfor
- endif
-
- return l:output
-endfunction
-
-call ale#linter#Define('perl6', {
-\ 'name': 'perl6',
-\ 'executable': function('ale_linters#perl6#perl6#GetExecutable'),
-\ 'output_stream': 'both',
-\ 'command': function('ale_linters#perl6#perl6#GetCommand'),
-\ 'callback': 'ale_linters#perl6#perl6#Handle',
-\})
-
diff --git a/dot_vim/plugged/ale/ale_linters/php/cspell.vim b/dot_vim/plugged/ale/ale_linters/php/cspell.vim
deleted file mode 100644
index 574df57..0000000
--- a/dot_vim/plugged/ale/ale_linters/php/cspell.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-scriptencoding utf-8
-" Author: David Houston
-" Description: cspell support for PHP files.
-
-call ale#handlers#cspell#DefineLinter('php')
diff --git a/dot_vim/plugged/ale/ale_linters/php/executable_intelephense.vim b/dot_vim/plugged/ale/ale_linters/php/executable_intelephense.vim
deleted file mode 100644
index 0fdcc93..0000000
--- a/dot_vim/plugged/ale/ale_linters/php/executable_intelephense.vim
+++ /dev/null
@@ -1,32 +0,0 @@
-" Author: Eric Stern ,
-" Arnold Chand
-" Description: Intelephense language server integration for ALE
-
-call ale#Set('php_intelephense_executable', 'intelephense')
-call ale#Set('php_intelephense_use_global', 1)
-call ale#Set('php_intelephense_config', {})
-
-function! ale_linters#php#intelephense#GetProjectRoot(buffer) abort
- let l:composer_path = ale#path#FindNearestFile(a:buffer, 'composer.json')
-
- if (!empty(l:composer_path))
- return fnamemodify(l:composer_path, ':h')
- endif
-
- let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git')
-
- return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : ''
-endfunction
-
-function! ale_linters#php#intelephense#GetInitializationOptions(buffer) abort
- return ale#Var(a:buffer, 'php_intelephense_config')
-endfunction
-
-call ale#linter#Define('php', {
-\ 'name': 'intelephense',
-\ 'lsp': 'stdio',
-\ 'initialization_options': function('ale_linters#php#intelephense#GetInitializationOptions'),
-\ 'executable': {b -> ale#path#FindExecutable(b, 'php_intelephense', [])},
-\ 'command': '%e --stdio',
-\ 'project_root': function('ale_linters#php#intelephense#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/php/langserver.vim b/dot_vim/plugged/ale/ale_linters/php/langserver.vim
deleted file mode 100644
index c3d89a0..0000000
--- a/dot_vim/plugged/ale/ale_linters/php/langserver.vim
+++ /dev/null
@@ -1,27 +0,0 @@
-" Author: Eric Stern
-" Description: PHP Language server integration for ALE
-
-call ale#Set('php_langserver_executable', 'php-language-server.php')
-call ale#Set('php_langserver_use_global', get(g:, 'ale_use_global_executables', 0))
-
-function! ale_linters#php#langserver#GetProjectRoot(buffer) abort
- let l:composer_path = ale#path#FindNearestFile(a:buffer, 'composer.json')
-
- if (!empty(l:composer_path))
- return fnamemodify(l:composer_path, ':h')
- endif
-
- let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git')
-
- return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : ''
-endfunction
-
-call ale#linter#Define('php', {
-\ 'name': 'langserver',
-\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#path#FindExecutable(b, 'php_langserver', [
-\ 'vendor/bin/php-language-server.php',
-\ ])},
-\ 'command': 'php %e',
-\ 'project_root': function('ale_linters#php#langserver#GetProjectRoot'),
-\})
diff --git a/dot_vim/plugged/ale/ale_linters/php/phan.vim b/dot_vim/plugged/ale/ale_linters/php/phan.vim
deleted file mode 100644
index 50c6d6e..0000000
--- a/dot_vim/plugged/ale/ale_linters/php/phan.vim
+++ /dev/null
@@ -1,75 +0,0 @@
-" Author: diegoholiveira