Skip to content

Commit

Permalink
fix !include relative puml error, closes #16
Browse files Browse the repository at this point in the history
  • Loading branch information
weirongxu committed Oct 17, 2019
1 parent db6297b commit b398d84
Show file tree
Hide file tree
Showing 5 changed files with 70 additions and 42 deletions.
59 changes: 37 additions & 22 deletions autoload/plantuml_previewer.vim
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,12 @@ let s:default_jar_path = s:base_path . '/lib/plantuml.jar'
let s:tmp_path = s:base_path . '/tmp'

let s:save_as_script_path = s:base_path . '/script/save-as' . (s:is_win ? '.cmd' : '.sh')
let s:save_as_tmp_puml_path = s:tmp_path . '/tmp.puml'

let s:update_viewer_script_path = s:base_path . '/script/update-viewer' . (s:is_win ? '.cmd' : '.sh')

function! plantuml_previewer#start() "{{{
if !executable('java')
echoerr 'require java'
echoerr 'require java command'
return
endif
let viewer_path = s:viewer_path()
Expand All @@ -33,7 +32,7 @@ endfunction "}}}

function! plantuml_previewer#open() "{{{
if !exists('*OpenBrowser')
echoerr 'require openbrowser'
echoerr 'require open-browser.vim'
return
endif
call plantuml_previewer#start()
Expand Down Expand Up @@ -120,44 +119,60 @@ function! s:run_in_background(cmd) "{{{
endfunction "}}}

function! plantuml_previewer#refresh() "{{{
let content = getline(1, '$')
call writefile(content, s:viewer_tmp_puml_path())
let puml_src_path = expand('%:p')
let puml_filename = expand('%:t:r')
let image_type = 'svg'
let image_ext = s:fmt_to_ext(image_type)
let output_dir_path = s:tmp_path
let output_path = output_dir_path . '/' . puml_filename . '.' . image_ext
let finial_path = s:viewer_path() . '/tmp.' . image_ext
let cmd = [
\ s:update_viewer_script_path,
\ s:jar_path(),
\ s:viewer_tmp_puml_path(),
\ 'svg',
\ localtime(),
\ s:viewer_tmp_js_path(),
\ ]
\ s:update_viewer_script_path,
\ s:jar_path(),
\ puml_src_path,
\ output_dir_path,
\ output_path,
\ finial_path,
\ image_type,
\ localtime(),
\ s:viewer_tmp_js_path(),
\ ]
call s:run_in_background(cmd)
endfunction "}}}

function! plantuml_previewer#save_as(...) "{{{
if !executable('java')
echoerr 'require java command'
return
endif

let save_path = get(a:000, 0, 0)
let target_format = get(a:000, 1, 0)
let image_type = get(a:000, 1, 0)
if s:is_zero(save_path)
let source_name = expand('%:t:r')
let save_path = printf("%s.%s", source_name, s:fmt_to_ext(s:save_format()))
else
let save_path = fnamemodify(save_path, ':p')
endif
if s:is_zero(target_format)
if s:is_zero(image_type)
let ext = fnamemodify(save_path, ':e')
let target_format = ext == '' ? s:save_format() : s:ext_to_fmt(ext)
let image_type = ext == '' ? s:save_format() : s:ext_to_fmt(ext)
endif
let target_path = printf("%s.%s", fnamemodify(s:save_as_tmp_puml_path, ':p:r'), target_format)
let content = getline(1,'$')
call mkdir(s:tmp_path, 'p')
call writefile(content, s:save_as_tmp_puml_path)

let puml_src_path = expand('%:p')
let puml_filename = expand('%:t:r')
let image_ext = s:fmt_to_ext(image_type)
let output_dir_path = s:tmp_path
let output_path = output_dir_path . '/' . puml_filename . '.' . image_ext
call mkdir(fnamemodify(save_path, ':p:h'), 'p')
let cmd = [
\ s:save_as_script_path,
\ s:jar_path(),
\ s:save_as_tmp_puml_path,
\ target_format,
\ target_path,
\ puml_src_path,
\ output_dir_path,
\ output_path,
\ save_path,
\ image_type,
\ ]
call s:run_in_background(cmd)
endfunction "}}}
11 changes: 6 additions & 5 deletions script/save-as.cmd
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
set jar_path=%1
set puml_path=%2
set image_type=%3

set target_path=%4
set puml_src_path=%2
set output_dir_path=%3
set output_path=%4
set save_path=%5
set image_type=%6

java -Dapple.awt.UIElement=true -jar "%jar_path%" "%puml_path%" -t%image_type%
copy "%target_path%" "%save_path%"
java -Dapple.awt.UIElement=true -jar "%jar_path%" "%puml_src_path%" -t%image_type% -o "%output_dir_path%"
copy "%output_path%" "%save_path%"
11 changes: 6 additions & 5 deletions script/save-as.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
#!/usr/bin/env bash
jar_path=$1
puml_path=$2
image_type=$3

target_path=$4
puml_src_path=$2
output_dir_path=$3
output_path=$4
save_path=$5
image_type=$6

java -Dapple.awt.UIElement=true -jar "$jar_path" "$puml_path" -t$image_type
cp "$target_path" "$save_path"
java -Dapple.awt.UIElement=true -jar "$jar_path" "$puml_src_path" -t$image_type -o "$output_dir_path"
cp "$output_path" "$save_path"
15 changes: 10 additions & 5 deletions script/update-viewer.cmd
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
set jar_path=%1
set puml_path=%2
set image_type=%3

set timestamp=%4
set update_js_path=%5
set puml_src_path=%2
set output_dir_path=%3
set output_path=%4
set finial_path=%5
set image_type=%6

java -Dapple.awt.UIElement=true -jar "%jar_path%" "%puml_path%" -t%image_type%
set timestamp=%7
set update_js_path=%8

java -Dapple.awt.UIElement=true -jar "%jar_path%" "%puml_src_path%" -t%image_type% -o "%output_dir_path%"
copy "%output_path%" "%finial_path%"
echo window.updateDiagramURL('%timestamp%') > "%update_js_path%"
16 changes: 11 additions & 5 deletions script/update-viewer.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
#!/usr/bin/env bash

jar_path=$1
puml_path=$2
image_type=$3

timestamp=$4
update_js_path=$5
puml_src_path=$2
output_dir_path=$3
output_path=$4
finial_path=$5
image_type=$6

timestamp=$7
update_js_path=$8

java -Dapple.awt.UIElement=true -jar "$jar_path" "$puml_path" -t$image_type
java -Dapple.awt.UIElement=true -jar "$jar_path" "$puml_src_path" -t$image_type -o "$output_dir_path"
cp "$output_path" "$finial_path"
echo "window.updateDiagramURL('$timestamp')" > "$update_js_path"

0 comments on commit b398d84

Please sign in to comment.