summaryrefslogtreecommitdiff
path: root/xxx/vim-old/vim-potion/autoload
diff options
context:
space:
mode:
Diffstat (limited to 'xxx/vim-old/vim-potion/autoload')
-rw-r--r--xxx/vim-old/vim-potion/autoload/potion/running.vim33
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