ale - Asynchronous linting/fixing for Vim and Language Server Protocol (LSP) integration

  •        172

ALE (Asynchronous Lint Engine) is a plugin for providing linting in NeoVim 0.2.0+ and Vim 8 while you edit your text files, and acts as a Vim Language Server Protocol 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.

https://github.com/w0rp/ale

Tags
Implementation
License
Platform

   




Related Projects

neomake - Asynchronous linting and make framework for Neovim/Vim

  •    Vim

Neomake is a plugin for Vim/Neovim to asynchronously run programs. You can use it instead of the built-in :make command (since it can pick up your 'makeprg' setting), but its focus is on providing an extra layer of makers based on the current file (type) or project. Its origin is a proof-of-concept for Syntastic to be asynchronous.

vim-lsp - async language server protocol plugin for vim and neovim

  •    Vim

Async Language Server Protocol plugin for vim8 and neovim. Note: async.vim is required and is used to normalize jobs between vim8 and neovim.

vim-grammarous - A powerful grammar checker for Vim using LanguageTool.

  •    Vim

vim-grammarous is a powerful grammar checker for Vim. Simply do :GrammarousCheck to see the powerful checking. This plugin automatically downloads LanguageTool, which requires Java 8+. This plugin can use job feature on Vim 8.0.27 (or later) or Neovim. It enables asynchronous command execution so you don't need to be blocked until the check has been done on Vim8+ or Neovim.

syntastic - Syntax checking hacks for vim

  •    Vim

Syntastic is a syntax checking plugin for Vim created by Martin Grenfell. It runs files through external syntax checkers and displays any resulting errors to the user. This can be done on demand, or automatically as files are saved. If syntax errors are detected, the user is notified and is happy because they didn't have to compile their code or execute their script to find them. At the time of this writing, syntastic has checking plugins for ACPI Source Language, ActionScript, Ada, Ansible configurations, API Blueprint, AppleScript, AsciiDoc, Assembly languages, BEMHTML, Bro, Bourne shell, C, C++, C#, Cabal, Chef, CMake, CoffeeScript, Coco, Coq, CSS, Cucumber, CUDA, D, Dart, DocBook, Dockerfile, Dust, Elixir, Erlang, eRuby, Fortran, Gentoo metadata, GLSL, Go, Haml, Haskell, Haxe, Handlebars, HSS, HTML, Java, JavaScript, JSON, JSX, Julia, LESS, Lex, Limbo, LISP, LLVM intermediate language, Lua, Markdown, MATLAB, Mercury, NASM, Nix, Objective-C, Objective-C++, OCaml, Perl, Perl 6, Perl POD, PHP, gettext Portable Object, OS X and iOS property lists, Pug (formerly Jade), Puppet, Python, QML, R, Racket, RDF TriG, RDF Turtle, Relax NG, reStructuredText, RPM spec, Ruby, SASS/SCSS, Scala, Slim, SML, Solidity, Sphinx, SQL, Stylus, Tcl, TeX, Texinfo, Twig, TypeScript, Vala, Verilog, VHDL, Vim help, VimL, Vue.js, xHtml, XML, XSLT, XQuery, YACC, YAML, YANG data models, YARA rules, z80, Zope page templates, and Zsh. See the manual for details about the corresponding supported checkers (:help syntastic-checkers in Vim).


asyncrun.vim - Run Async Shell Commands in Vim 8.0 / NeoVim and Output to Quickfix Window

  •    Vim

If that doesn't excite you, then perhaps this GIF screen capture below will change your mind. Copy asyncrun.vim to your ~/.vim/plugin or use Vundle to install it from skywind3000/asyncrun.vim .

targets.vim - Vim plugin that provides additional text objects

  •    Vim

Targets.vim is a Vim plugin that adds various text objects to give you more targets to operate on. It expands on the idea of simple commands like di' (delete inside the single quotes around the cursor) to give you more opportunities to craft powerful commands that can be repeated reliably. One major goal is to handle all corner cases correctly. The following examples are displayed as three lines each. The top line denotes cursor positions from where the presented command works. The middle line shows the contents of the example line that we're working on. The last line shows the part of the line that the command will operate on.

tmux-complete.vim - Vim plugin for insert mode completion of words in adjacent tmux panes

  •    Vim

You're happily editing your lovely files in Vim, when you notice you need to type a word that you can see in a different Tmux pane right next to Vim. This might be some secret key found in your REPL or the name of a failing test. Usually the interesting text is too short to warrant switching panes and going into Tmux' copy mode, so you end typing it out again.

vim-flake8 - Flake8 plugin for Vim

  •    VimL

vim-flake8 is a Vim plugin that runs the currently open file through Flake8, a static syntax and style checker for Python source code. It supersedes both vim-pyflakes and vim-pep8.Flake8 is a wrapper around PyFlakes (static syntax checker), PEP8 (style checker) and Ned's MacCabe script (complexity checker).

vim-markdown-composer - An asynchronous markdown preview plugin for Vim and Neovim

  •    Rust

vim-markdown-composer is a plugin that adds asynchronous Markdown preview to Neovim and Vim. By default, vim-markdown-composer uses a blazing-fast CommonMark (and GitHub)-compliant renderer. However, it can be configured to use any external program for rendering, such as pandoc.

alchemist.vim - Elixir Integration Into Vim

  •    Elixir

You need to have Erlang(OTP >= 19) and Elixir installed in your machine. You can find more about short keys, commands and configs here.

tagbar - Vim plugin that displays tags in a window, ordered by scope

  •    Vim

Tagbar is a Vim plugin that provides an easy way to browse the tags of the current file and get an overview of its structure. It does this by creating a sidebar that displays the ctags-generated tags of the current file, ordered by their scope. This means that for example methods in C++ are displayed under the class they are defined in. Tagbar is not a general-purpose tool for managing tags files. It only creates the tags it needs on-the-fly in-memory without creating any files. tags file management is provided by other plugins, like for example easytags.

dein.vim - :zap: Dark powered Vim/Neovim plugin manager

  •    Vim

Dein.vim is a dark powered Vim/Neovim plugin manager. Note: If you use Vim 7.4, please use dein.vim ver.1.5 instead.

SpaceVim - A community-driven vim distribution inspired by spacemacs

  •    Vim

SpaceVim is a community-driven vim distribution that supports vim and Neovim. SpaceVim manages collections of plugins in layers. Layers make it easy for you, the user, to enable a new language or feature by grouping all the related plugins together.

EverVim - A Modern, Powerful & Modular Vim Distribution

  •    Vim

EverVim is the ultimate vim distribution that supports NeoVim, Vim, GVim and MacVim. It ships with tons of powerful features through vim plugins, which makes it easy to get started for both newcomers and experienced users. The distribution is completely customizable using a ~/.EverVim.vimrc Vim config files.

vim-startify - :link: The fancy start screen for Vim.

  •    Vim

This plugin provides a start screen for Vim and Neovim. It provides dynamically created headers or footers and uses configurable lists to show recently used or bookmarked files and persistent sessions. All of this can be accessed in a simple to use menu that even allows to open multiple entries at once.

fzf.vim - fzf :heart: vim

  •    Vim

Things you can do with fzf and Vim.fzf in itself is not a Vim plugin, and the official repository only provides the basic wrapper function for Vim and it's up to the users to write their own Vim commands with it. However, I've learned that many users of fzf are not familiar with Vimscript and are looking for the "default" implementation of the features they can find in the alternative Vim plugins.

onedark.vim - A dark Vim/Neovim color scheme inspired by Atom's One Dark syntax theme.

  •    Vim

A dark Vim/Neovim color scheme for the GUI and 16/256/true-color terminals, based on FlatColor, with colors inspired by the excellent One Dark syntax theme for the Atom text editor. Note: GUI (non-terminal) Vim will always display 24-bit color regardless of the configuration done in this step.

Oni - new kind of editor, powered by Neovim

  •    TypeScript

Oni is a new kind of editor, focused on maximizing productivity - combining modal editing with features you expect in modern editors. Oni is built with neovim, and inspired by VSCode, Atom, LightTable, and Emacs. The vision of Oni is to build an editor that allows you to go from thought to code as easily as possible - bringing together the raw editing power of Vim, the feature capabilities of Atom/VSCode, and a powerful and intuitive extensibility model - wrapped up in a beautiful package. This repository is under active development, and until 1.0 please consider everything unstable.