4709e67627
SwiftFormat is a tool that can be used to format Swift files. This commit adds support for using SwiftFormat as a fixer from ALE. It looks for executables in the Pods directory, then the Pods directory for a React Native project, then finally falls back to the globally installed instance if neither of those were found. https://github.com/nicklockwood/SwiftFormat
39 lines
1.0 KiB
Plaintext
39 lines
1.0 KiB
Plaintext
Before:
|
|
Save g:ale_swift_swiftformat_executable
|
|
|
|
" Use an invalid global executable, so we don't match it.
|
|
let g:ale_swift_swiftformat_executable = 'xxxinvalid'
|
|
|
|
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 swiftformat callback should return the correct default values):
|
|
call ale#test#SetFilename('swift_paths/dummy.swift')
|
|
|
|
AssertEqual
|
|
\ {
|
|
\ 'read_temporary_file': 1,
|
|
\ 'command': ale#Escape(g:ale_swift_swiftformat_executable)
|
|
\ . ' %t ',
|
|
\ },
|
|
\ ale#fixers#swiftformat#Fix(bufnr(''))
|
|
|
|
Execute(The swiftformat callback should include any additional options):
|
|
call ale#test#SetFilename('swift_paths/dummy.swift')
|
|
let g:ale_swift_swiftformat_options = '--some-option'
|
|
|
|
AssertEqual
|
|
\ {
|
|
\ 'read_temporary_file': 1,
|
|
\ 'command': ale#Escape(g:ale_swift_swiftformat_executable)
|
|
\ . ' %t --some-option',
|
|
\ },
|
|
\ ale#fixers#swiftformat#Fix(bufnr(''))
|