mirror of
				https://github.com/amix/vimrc
				synced 2025-10-31 14:43:35 +08:00 
			
		
		
		
	Updated vim plugins
This commit is contained in:
		| @ -1,6 +1,24 @@ | ||||
| " Author: David Mohundro <david@mohundro.com> | ||||
| " Author: David Mohundro <david@mohundro.com>, Gordon Fontenot <gordon@fonten.io> | ||||
| " Description: swiftlint for swift files | ||||
|  | ||||
| call ale#Set('swift_swiftlint_executable', 'swiftlint') | ||||
| call ale#Set('swift_swiftlint_use_global', get(g:, 'ale_use_global_executables', 0)) | ||||
|  | ||||
| function! ale_linters#swift#swiftlint#GetExecutable(buffer) abort | ||||
|     return ale#node#FindExecutable(a:buffer, 'swift_swiftlint', [ | ||||
|           \ 'Pods/SwiftLint/swiftlint', | ||||
|           \ 'ios/Pods/SwiftLint/swiftlint', | ||||
|           \ 'swiftlint', | ||||
|           \]) | ||||
| endfunction | ||||
|  | ||||
| function! ale_linters#swift#swiftlint#GetCommand(buffer) abort | ||||
|     let l:executable = ale_linters#swift#swiftlint#GetExecutable(a:buffer) | ||||
|     let l:args = 'lint --use-stdin' | ||||
|  | ||||
|     return ale#Escape(l:executable) | ||||
|           \ . ' ' .l:args | ||||
| endfunction | ||||
|  | ||||
| function! ale_linters#swift#swiftlint#Handle(buffer, lines) abort | ||||
|     let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+)?:? ([^:]+): (.+)$' | ||||
| @ -8,10 +26,10 @@ function! ale_linters#swift#swiftlint#Handle(buffer, lines) abort | ||||
|  | ||||
|     for l:match in ale#util#GetMatches(a:lines, l:pattern) | ||||
|         let l:item = { | ||||
|         \   'lnum': str2nr(l:match[2]), | ||||
|         \   'type': l:match[4] is# 'error' ? 'E' : 'W', | ||||
|         \   'text': l:match[5], | ||||
|         \} | ||||
|               \ 'lnum': str2nr(l:match[2]), | ||||
|               \ 'type': l:match[4] is# 'error' ? 'E' : 'W', | ||||
|               \ 'text': l:match[5], | ||||
|               \} | ||||
|  | ||||
|         if l:match[4] is# 'error' | ||||
|             let l:item.type = 'E' | ||||
| @ -45,7 +63,7 @@ endfunction | ||||
|  | ||||
| call ale#linter#Define('swift', { | ||||
| \   'name': 'swiftlint', | ||||
| \   'executable': 'swiftlint', | ||||
| \   'command': 'swiftlint lint --use-stdin', | ||||
| \   'executable_callback': 'ale_linters#swift#swiftlint#GetExecutable', | ||||
| \   'command_callback': 'ale_linters#swift#swiftlint#GetCommand', | ||||
| \   'callback': 'ale_linters#swift#swiftlint#Handle', | ||||
| \}) | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Amir Salihefendic
					Amir Salihefendic