404

[ Avaa Bypassed ]




Upload:

Command:

botdev@18.220.140.173: ~ $
" Language:           ConTeXt typesetting engine
" Maintainer:         Nicola Vitacolonna <nvitacolonna@gmail.com>
" Latest Revision:    2016 Oct 21

let s:keepcpo= &cpo
set cpo&vim

" Helper functions {{{
function! s:context_echo(message, mode)
  redraw
  echo "\r"
  execute 'echohl' a:mode
  echomsg '[ConTeXt]' a:message
  echohl None
endf

function! s:sh()
  return has('win32') || has('win64') || has('win16') || has('win95')
        \ ? ['cmd.exe', '/C']
        \ : ['/bin/sh', '-c']
endfunction

" For backward compatibility
if exists('*win_getid')

  function! s:win_getid()
    return win_getid()
  endf

  function! s:win_id2win(winid)
    return win_id2win(a:winid)
  endf

else

  function! s:win_getid()
    return winnr()
  endf

  function! s:win_id2win(winnr)
    return a:winnr
  endf

endif
" }}}

" ConTeXt jobs {{{
if has('job')

  let g:context_jobs = []

  " Print the status of ConTeXt jobs
  function! context#job_status()
    let l:jobs = filter(g:context_jobs, 'job_status(v:val) == "run"')
    let l:n = len(l:jobs)
    call s:context_echo(
          \ 'There '.(l:n == 1 ? 'is' : 'are').' '.(l:n == 0 ? 'no' : l:n)
          \ .' job'.(l:n == 1 ? '' : 's').' running'
          \ .(l:n == 0 ? '.' : ' (' . join(l:jobs, ', ').').'),
          \ 'ModeMsg')
  endfunction

  " Stop all ConTeXt jobs
  function! context#stop_jobs()
    let l:jobs = filter(g:context_jobs, 'job_status(v:val) == "run"')
    for job in l:jobs
      call job_stop(job)
    endfor
    sleep 1
    let l:tmp = []
    for job in l:jobs
      if job_status(job) == "run"
        call add(l:tmp, job)
      endif
    endfor
    let g:context_jobs = l:tmp
    if empty(g:context_jobs)
      call s:context_echo('Done. No jobs running.', 'ModeMsg')
    else
      call s:context_echo('There are still some jobs running. Please try again.', 'WarningMsg')
    endif
  endfunction

  function! context#callback(path, job, status)
    if index(g:context_jobs, a:job) != -1 && job_status(a:job) != 'run' " just in case
      call remove(g:context_jobs, index(g:context_jobs, a:job))
    endif
    call s:callback(a:path, a:job, a:status)
  endfunction

  function! context#close_cb(channel)
    call job_status(ch_getjob(a:channel)) " Trigger exit_cb's callback for faster feedback
  endfunction

  function! s:typeset(path)
    call add(g:context_jobs,
          \ job_start(add(s:sh(), context#command() . ' ' . shellescape(fnamemodify(a:path, ":t"))), {
          \   'close_cb' : 'context#close_cb',
          \   'exit_cb'  : function(get(b:, 'context_callback', get(g:, 'context_callback', 'context#callback')),
          \                         [a:path]),
          \   'in_io'    : 'null'
          \ }))
  endfunction

else " No jobs

  function! context#job_status()
    call s:context_echo('Not implemented', 'WarningMsg')
  endfunction!

  function! context#stop_jobs()
    call s:context_echo('Not implemented', 'WarningMsg')
  endfunction

  function! context#callback(path, job, status)
    call s:callback(a:path, a:job, a:status)
  endfunction

  function! s:typeset(path)
    execute '!' . context#command() . ' ' . shellescape(fnamemodify(a:path, ":t"))
    call call(get(b:, 'context_callback', get(g:, 'context_callback', 'context#callback')),
          \ [a:path, 0, v:shell_error])
  endfunction

endif " has('job')

function! s:callback(path, job, status) abort
  if a:status < 0 " Assume the job was terminated
    return
  endif
  " Get info about the current window
  let l:winid = s:win_getid()             " Save window id
  let l:efm = &l:errorformat              " Save local errorformat
  let l:cwd = fnamemodify(getcwd(), ":p") " Save local working directory
  " Set errorformat to parse ConTeXt errors
  execute 'setl efm=' . escape(b:context_errorformat, ' ')
  try " Set cwd to expand error file correctly
    execute 'lcd' fnameescape(fnamemodify(a:path, ':h'))
  catch /.*/
    execute 'setl efm=' . escape(l:efm, ' ')
    throw v:exception
  endtry
  try
    execute 'cgetfile' fnameescape(fnamemodify(a:path, ':r') . '.log')
    botright cwindow
  finally " Restore cwd and errorformat
    execute s:win_id2win(l:winid) . 'wincmd w'
    execute 'lcd ' . fnameescape(l:cwd)
    execute 'setl efm=' . escape(l:efm, ' ')
  endtry
  if a:status == 0
    call s:context_echo('Success!', 'ModeMsg')
  else
    call s:context_echo('There are errors. ', 'ErrorMsg')
  endif
endfunction

function! context#command()
  return get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun'))
        \ . ' --script context --autogenerate --nonstopmode'
        \ . ' --synctex=' . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0')
        \ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', ''))
endfunction

" Accepts an optional path (useful for big projects, when the file you are
" editing is not the project's root document). If no argument is given, uses
" the path of the current buffer.
function! context#typeset(...) abort
  let l:path = fnamemodify(strlen(a:000[0]) > 0 ? a:1 : expand("%"), ":p")
  let l:cwd = fnamemodify(getcwd(), ":p") " Save local working directory
  call s:context_echo('Typesetting...',  'ModeMsg')
  execute 'lcd' fnameescape(fnamemodify(l:path, ":h"))
  try
    call s:typeset(l:path)
  finally " Restore local working directory
    execute 'lcd ' . fnameescape(l:cwd)
  endtry
endfunction!
"}}}

let &cpo = s:keepcpo
unlet s:keepcpo

" vim: sw=2 fdm=marker

Filemanager

Name Type Size Permission Actions
dist Folder 0755
xml Folder 0755
README.txt File 773 B 0644
ada.vim File 22.04 KB 0644
adacomplete.vim File 3.58 KB 0644
ccomplete.vim File 16.63 KB 0644
clojurecomplete.vim File 7.84 KB 0644
context.vim File 5.33 KB 0644
contextcomplete.vim File 656 B 0644
csscomplete.vim File 42.18 KB 0644
decada.vim File 2.93 KB 0644
getscript.vim File 24.28 KB 0644
gnat.vim File 5.21 KB 0644
gzip.vim File 6.26 KB 0644
htmlcomplete.vim File 24.85 KB 0644
javascriptcomplete.vim File 26.39 KB 0644
netrw.vim File 519.7 KB 0644
netrwFileHandlers.vim File 9.91 KB 0644
netrwSettings.vim File 9.96 KB 0644
netrw_gitignore.vim File 3.05 KB 0644
paste.vim File 1.18 KB 0644
phpcomplete.vim File 344.09 KB 0644
python3complete.vim File 21.07 KB 0644
pythoncomplete.vim File 21.53 KB 0644
rubycomplete.vim File 23.79 KB 0644
rust.vim File 10.22 KB 0644
rustfmt.vim File 2.92 KB 0644
spellfile.vim File 6.07 KB 0644
sqlcomplete.vim File 38.27 KB 0644
syntaxcomplete.vim File 30.54 KB 0644
tar.vim File 21.57 KB 0644
tohtml.vim File 31.33 KB 0644
vimball.vim File 23.76 KB 0644
xmlcomplete.vim File 14.59 KB 0644
zip.vim File 14.3 KB 0644