diff options
Diffstat (limited to 'xxx/vim-old/vim-potion/autoload')
| -rw-r--r-- | xxx/vim-old/vim-potion/autoload/potion/running.vim | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/xxx/vim-old/vim-potion/autoload/potion/running.vim b/xxx/vim-old/vim-potion/autoload/potion/running.vim new file mode 100644 index 0000000..562f713 --- /dev/null +++ b/xxx/vim-old/vim-potion/autoload/potion/running.vim @@ -0,0 +1,33 @@ +function! potion#running#PotionCompileAndRunFile() + write + silent !clear + execute "!" . g:potion_command . " " . bufname("%") +endfunction + +function! potion#running#PotionShowBytecode() + + write + + " Get the bytecode. + let bytecode = system(g:potion_command . " -c -V " . bufname("%") . " 2>&1") + + " Check returned string for errors. + if bytecode=~#"Syntax error" + let bytecode = "SYNTAX ERROR!! Check your potion." + endif + + " Open a new split and set it up or use existing one! + let potbufnr=bufwinnr('__Potion_Bytecode__') + if potbufnr==#-1 + vsplit __Potion_Bytecode__ + else + execute potbufnr.'wincmd w' + endif + normal! ggdG + setlocal filetype=potionbytecode + setlocal buftype=nofile + + " Insert the bytecode. + call append(0, split(bytecode, '\v\n')) + +endfunction |
