Merge pull request #1001 from carakan/tslint_fixer
new tslint fixer for typescript
This commit is contained in:
		
						commit
						5946a128c3
					
				@ -102,6 +102,11 @@ let s:default_registry = {
 | 
			
		||||
\       'suggested_filetypes': ['go'],
 | 
			
		||||
\       'description': 'Fix Go files with go fmt.',
 | 
			
		||||
\   },
 | 
			
		||||
\   'tslint': {
 | 
			
		||||
\       'function': 'ale#fixers#tslint#Fix',
 | 
			
		||||
\       'suggested_filetypes': ['typescript'],
 | 
			
		||||
\       'description': 'Fix typescript files with tslint --fix.',
 | 
			
		||||
\   },
 | 
			
		||||
\}
 | 
			
		||||
 | 
			
		||||
" Reset the function registry to the default entries.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										22
									
								
								autoload/ale/fixers/tslint.vim
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								autoload/ale/fixers/tslint.vim
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
			
		||||
" Author: carakan <carakan@gmail.com>
 | 
			
		||||
" Description: Fixing files with tslint.
 | 
			
		||||
 | 
			
		||||
function! ale#fixers#tslint#Fix(buffer) abort
 | 
			
		||||
    let l:executable = ale_linters#typescript#tslint#GetExecutable(a:buffer)
 | 
			
		||||
 | 
			
		||||
    let l:tslint_config_path = ale#path#ResolveLocalPath(
 | 
			
		||||
    \   a:buffer,
 | 
			
		||||
    \   'tslint.json',
 | 
			
		||||
    \   ale#Var(a:buffer, 'typescript_tslint_config_path')
 | 
			
		||||
    \)
 | 
			
		||||
    let l:tslint_config_option = !empty(l:tslint_config_path)
 | 
			
		||||
    \   ? ' -c ' . ale#Escape(l:tslint_config_path)
 | 
			
		||||
    \   : ''
 | 
			
		||||
 | 
			
		||||
    return {
 | 
			
		||||
    \   'command': ale#node#Executable(a:buffer, l:executable)
 | 
			
		||||
    \       . l:tslint_config_option
 | 
			
		||||
    \       . ' --fix %t',
 | 
			
		||||
    \   'read_temporary_file': 1,
 | 
			
		||||
    \}
 | 
			
		||||
endfunction
 | 
			
		||||
							
								
								
									
										41
									
								
								test/fixers/test_tslint_fixer_callback.vader
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								test/fixers/test_tslint_fixer_callback.vader
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,41 @@
 | 
			
		||||
Before:
 | 
			
		||||
  Save g:ale_typescript_tslint_executable
 | 
			
		||||
  Save g:ale_typescript_tslint_config_path
 | 
			
		||||
 | 
			
		||||
  let g:ale_typescript_tslint_executable = 'xxxinvalid'
 | 
			
		||||
  let g:ale_typescript_tslint_config_path = 'tslint.json'
 | 
			
		||||
 | 
			
		||||
  call ale#test#SetDirectory('/testplugin/test/fixers')
 | 
			
		||||
  silent cd ..
 | 
			
		||||
  silent cd command_callback
 | 
			
		||||
  let g:dir = getcwd()
 | 
			
		||||
 | 
			
		||||
After:
 | 
			
		||||
  Restore
 | 
			
		||||
 | 
			
		||||
  call ale#test#RestoreDirectory()
 | 
			
		||||
 | 
			
		||||
Execute(The tslint callback should return the correct default values):
 | 
			
		||||
  call ale#test#SetFilename('../prettier-test-files/testfile.ts')
 | 
			
		||||
 | 
			
		||||
  AssertEqual
 | 
			
		||||
  \ {
 | 
			
		||||
  \   'read_temporary_file': 1,
 | 
			
		||||
  \   'command': ale#Escape(g:ale_typescript_tslint_executable)
 | 
			
		||||
  \     . ' -c ' . ale#Escape('tslint.json')
 | 
			
		||||
  \     . ' --fix %t',
 | 
			
		||||
  \ },
 | 
			
		||||
  \ ale#fixers#tslint#Fix(bufnr(''))
 | 
			
		||||
 | 
			
		||||
Execute(The tslint callback should include custom tslint config option):
 | 
			
		||||
  let g:ale_typescript_tslint_config_path = '.tslintrc'
 | 
			
		||||
  call ale#test#SetFilename('../prettier-test-files/testfile.ts')
 | 
			
		||||
 | 
			
		||||
  AssertEqual
 | 
			
		||||
  \ {
 | 
			
		||||
  \   'read_temporary_file': 1,
 | 
			
		||||
  \   'command': ale#Escape(g:ale_typescript_tslint_executable)
 | 
			
		||||
  \     . ' -c ' . ale#Escape(g:ale_typescript_tslint_config_path)
 | 
			
		||||
  \     . ' --fix %t',
 | 
			
		||||
  \ },
 | 
			
		||||
  \ ale#fixers#tslint#Fix(bufnr(''))
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user