mirror of
https://github.com/amix/vimrc
synced 2025-06-23 06:35:01 +08:00
Updated plugins
This commit is contained in:
21
sources_non_forked/lightline-ale/LICENSE
Normal file
21
sources_non_forked/lightline-ale/LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017 Maxim Baz
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
103
sources_non_forked/lightline-ale/README.md
Normal file
103
sources_non_forked/lightline-ale/README.md
Normal file
@ -0,0 +1,103 @@
|
||||
# lightline-ale
|
||||
|
||||
This plugin provides [ALE](https://github.com/w0rp/ale) indicator for the [lightline](https://github.com/itchyny/lightline.vim) vim plugin.
|
||||
|
||||

|
||||
|
||||
## Table Of Contents
|
||||
|
||||
* [Installation](#installation)
|
||||
* [Integration](#integration)
|
||||
* [Configuration](#configuration)
|
||||
* [License](#license)
|
||||
|
||||
## Installation
|
||||
|
||||
Install using a plugin manager of your choice, for example:
|
||||
|
||||
```viml
|
||||
call dein#add('w0rp/ale') " Dependency: linter
|
||||
call dein#add('itchyny/lightline.vim') " Dependency: status line
|
||||
call dein#add('maximbaz/lightline-ale')
|
||||
```
|
||||
|
||||
## Integration
|
||||
|
||||
1. Register the components:
|
||||
|
||||
```viml
|
||||
let g:lightline = {}
|
||||
|
||||
let g:lightline.component_expand = {
|
||||
\ 'linter_checking': 'lightline#ale#checking',
|
||||
\ 'linter_warnings': 'lightline#ale#warnings',
|
||||
\ 'linter_errors': 'lightline#ale#errors',
|
||||
\ 'linter_ok': 'lightline#ale#ok',
|
||||
\ }
|
||||
```
|
||||
|
||||
2. Set color to the components:
|
||||
|
||||
```viml
|
||||
let g:lightline.component_type = {
|
||||
\ 'linter_checking': 'left',
|
||||
\ 'linter_warnings': 'warning',
|
||||
\ 'linter_errors': 'error',
|
||||
\ 'linter_ok': 'left',
|
||||
\ }
|
||||
```
|
||||
|
||||
3. Add the components to the lightline, for example to the right side:
|
||||
|
||||
```viml
|
||||
let g:lightline.active = { 'right': [[ 'linter_checking', 'linter_errors', 'linter_warnings', 'linter_ok' ]] }
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
##### `g:lightline#ale#indicator_checking`
|
||||
|
||||
The indicator to use when ALE is in progress. Default is `Linting...`.
|
||||
|
||||
##### `g:lightline#ale#indicator_warnings`
|
||||
|
||||
The indicator to use when there are warnings. Default is `W:`.
|
||||
|
||||
##### `g:lightline#ale#indicator_errors`
|
||||
|
||||
The indicator to use when there are errors. Default is `E:`.
|
||||
|
||||
##### `g:lightline#ale#indicator_ok`
|
||||
|
||||
The indicator to use when there are no warnings or errors. Default is `OK`.
|
||||
|
||||
### Using icons as indicators
|
||||
|
||||
If you would like to replace the default indicators with symbols like on the screenshot, then you'll need to ensure you have some "iconic fonts" installed, such as [Font Awesome](https://fontawesome.com). A common alternative is to replace your primary font with one of the [Patched Nerd Fonts](https://github.com/ryanoasis/nerd-fonts), which saves you from having to install multiple fonts.
|
||||
|
||||
The following icons from the Font Awesome font are used in the screenshot:
|
||||
|
||||
* Checking: [f110](https://fontawesome.com/icons/spinner)
|
||||
* Warnings: [f071](https://fontawesome.com/icons/exclamation-triangle)
|
||||
* Errors: [f05e](https://fontawesome.com/icons/ban)
|
||||
* OK: [f00c](https://fontawesome.com/icons/check) (although I prefer to disable this component)
|
||||
|
||||
To specify icons in the configuration, use their unicode codes as `"\uXXXX"` (make sure to wrap them in double quotes). Alternatively copy the icons from a font website, or type <kbd>\<C-v\>u\<4-digit-unicode\></kbd> or <kbd>\<C-v\>U\<8-digit-unicode\></kbd> to insert the literal characters.
|
||||
|
||||
See the code points here:
|
||||
|
||||
* Font Awesome: https://fontawesome.com/icons
|
||||
* Nerd Fonts: https://github.com/ryanoasis/nerd-fonts#glyph-sets
|
||||
|
||||
Here's the configuration snippet used in the screenshot:
|
||||
|
||||
```viml
|
||||
let g:lightline#ale#indicator_checking = "\uf110"
|
||||
let g:lightline#ale#indicator_warnings = "\uf071"
|
||||
let g:lightline#ale#indicator_errors = "\uf05e"
|
||||
let g:lightline#ale#indicator_ok = "\uf00c"
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
Released under the [MIT License](LICENSE)
|
49
sources_non_forked/lightline-ale/autoload/lightline/ale.vim
Normal file
49
sources_non_forked/lightline-ale/autoload/lightline/ale.vim
Normal file
@ -0,0 +1,49 @@
|
||||
let s:indicator_warnings = get(g:, 'lightline#ale#indicator_warnings', 'W: ')
|
||||
let s:indicator_errors = get(g:, 'lightline#ale#indicator_errors', 'E: ')
|
||||
let s:indicator_ok = get(g:, 'lightline#ale#indicator_ok', 'OK')
|
||||
let s:indicator_checking = get(g:, 'lightline#ale#indicator_checking', 'Linting...')
|
||||
|
||||
|
||||
""""""""""""""""""""""
|
||||
" Lightline components
|
||||
|
||||
function! lightline#ale#warnings() abort
|
||||
if !lightline#ale#linted()
|
||||
return ''
|
||||
endif
|
||||
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:all_non_errors == 0 ? '' : printf(s:indicator_warnings . '%d', all_non_errors)
|
||||
endfunction
|
||||
|
||||
function! lightline#ale#errors() abort
|
||||
if !lightline#ale#linted()
|
||||
return ''
|
||||
endif
|
||||
let l:counts = ale#statusline#Count(bufnr(''))
|
||||
let l:all_errors = l:counts.error + l:counts.style_error
|
||||
return l:all_errors == 0 ? '' : printf(s:indicator_errors . '%d', all_errors)
|
||||
endfunction
|
||||
|
||||
function! lightline#ale#ok() abort
|
||||
if !lightline#ale#linted()
|
||||
return ''
|
||||
endif
|
||||
let l:counts = ale#statusline#Count(bufnr(''))
|
||||
return l:counts.total == 0 ? s:indicator_ok : ''
|
||||
endfunction
|
||||
|
||||
function! lightline#ale#checking() abort
|
||||
return ale#engine#IsCheckingBuffer(bufnr('')) ? s:indicator_checking : ''
|
||||
endfunction
|
||||
|
||||
|
||||
""""""""""""""""""
|
||||
" Helper functions
|
||||
|
||||
function! lightline#ale#linted() abort
|
||||
return get(g:, 'ale_enabled', 0) == 1
|
||||
\ && getbufvar(bufnr(''), 'ale_linted', 0) > 0
|
||||
\ && ale#engine#IsCheckingBuffer(bufnr('')) == 0
|
||||
endfunction
|
@ -0,0 +1,6 @@
|
||||
augroup lightline#ale
|
||||
autocmd!
|
||||
autocmd User ALEJobStarted call lightline#update()
|
||||
autocmd User ALELintPost call lightline#update()
|
||||
autocmd User ALEFixPost call lightline#update()
|
||||
augroup END
|
BIN
sources_non_forked/lightline-ale/screenshot.png
Normal file
BIN
sources_non_forked/lightline-ale/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 47 KiB |
Reference in New Issue
Block a user