Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
77 lines
1.9 KiB
VimL
77 lines
1.9 KiB
VimL
" asmfmt.vim: Vim command to format Go asm files with asmfmt
|
|
" (github.com/klauspost/asmfmt).
|
|
"
|
|
" This filetype plugin adds new commands for asm buffers:
|
|
"
|
|
" :Fmt
|
|
"
|
|
" Filter the current asm buffer through asmfmt.
|
|
" It tries to preserve cursor position and avoids
|
|
" replacing the buffer with stderr output.
|
|
"
|
|
" Options:
|
|
"
|
|
" g:go_asmfmt_autosave [default=0]
|
|
"
|
|
" Flag to automatically call :Fmt when file is saved.
|
|
|
|
" don't spam the user when Vim is started in Vi compatibility mode
|
|
let s:cpo_save = &cpo
|
|
set cpo&vim
|
|
|
|
let s:got_fmt_error = 0
|
|
|
|
" This is a trimmed-down version of the logic in fmt.vim.
|
|
|
|
function! go#asmfmt#Format() abort
|
|
" Save state.
|
|
let l:curw = winsaveview()
|
|
|
|
" Write the current buffer to a tempfile.
|
|
let l:tmpname = tempname()
|
|
call writefile(go#util#GetLines(), l:tmpname)
|
|
|
|
" Run asmfmt.
|
|
let [l:out, l:err] = go#util#Exec(['asmfmt', '-w', l:tmpname])
|
|
if l:err
|
|
call go#util#EchoError(l:out)
|
|
return
|
|
endif
|
|
|
|
" Remove undo point caused by BufWritePre.
|
|
try | silent undojoin | catch | endtry
|
|
|
|
" Replace the current file with the temp file; then reload the buffer.
|
|
let old_fileformat = &fileformat
|
|
|
|
" save old file permissions
|
|
let original_fperm = getfperm(expand('%'))
|
|
call rename(l:tmpname, expand('%'))
|
|
|
|
" restore old file permissions
|
|
call setfperm(expand('%'), original_fperm)
|
|
silent edit!
|
|
let &fileformat = old_fileformat
|
|
let &syntax = &syntax
|
|
|
|
" Restore the cursor/window positions.
|
|
call winrestview(l:curw)
|
|
endfunction
|
|
|
|
function! go#asmfmt#ToggleAsmFmtAutoSave() abort
|
|
if go#config#AsmfmtAutosave()
|
|
call go#config#SetAsmfmtAutosave(1)
|
|
call go#util#EchoProgress("auto asmfmt enabled")
|
|
return
|
|
end
|
|
|
|
call go#config#SetAsmfmtAutosave(0)
|
|
call go#util#EchoProgress("auto asmfmt disabled")
|
|
endfunction
|
|
|
|
" restore Vi compatibility settings
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|
|
|
|
" vim: sw=2 ts=2 et
|