# HG changeset patch # User Steve Losh # Date 1453460950 0 # Node ID c50d62b096febed03bd5260e0f312920bab18667 # Parent edc1952ba1b789a8213dee0983ec8065749f8a01 Fireplace lets you disable maps now thank fuck diff -r edc1952ba1b7 -r c50d62b096fe vim/after/plugin/fireplace-cl-nrepl.vim --- a/vim/after/plugin/fireplace-cl-nrepl.vim Fri Jan 22 11:08:10 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,133 +0,0 @@ -" janky workaround from https://github.com/hylang/vim-hy/blob/master/after/plugin/fireplace.vim - -augroup fireplace_connect - autocmd FileType lisp command! -buffer -bar -nargs=* - \ Connect FireplaceConnect -augroup END - -function! s:set_up_eval() abort - command! -buffer -bang -range=0 -nargs=? Eval :exe s:Eval(0, , , , ) - command! -buffer -bar -nargs=1 -complete=customlist,fireplace#eval_complete Doc :exe s:Doc() - - " nmap cp FireplacePrint - " nmap cpp FireplaceCountPrint - - " nmap cm FireplaceMacroExpand - " nmap cmm FireplaceCountMacroExpand - - " nmap cqp FireplacePrompt - - " map! ( FireplaceRecall - - " nmap M FireplaceK -endfunction - -if !exists('s:qffiles') - let s:qffiles = {} -endif - -function! s:buf() abort - if exists('s:input') - return s:input - elseif has_key(s:qffiles, expand('%:p')) - return s:qffiles[expand('%:p')].buffer - else - return '%' - endif -endfunction - -function! s:buffer_path(...) abort - let buffer = a:0 ? a:1 : s:buf() - if getbufvar(buffer, '&buftype') =~# '^no' - return '' - endif - let path = substitute(fnamemodify(bufname(buffer), ':p'), '\C^zipfile:\(.*\)::', '\1/', '') - for dir in fireplace#path(buffer) - if dir !=# '' && path[0 : strlen(dir)-1] ==# dir && path[strlen(dir)] =~# '[\/]' - return path[strlen(dir)+1:-1] - endif - endfor - return '' -endfunction - -function! s:Eval(bang, line1, line2, count, args) abort - let options = {} - if a:args !=# '' - let expr = a:args - else - if a:count ==# 0 - let open = '[[{(]' - let close = '[]})]' - let [line1, col1] = searchpairpos(open, '', close, 'bcrn', g:fireplace#skip) - let [line2, col2] = searchpairpos(open, '', close, 'rn', g:fireplace#skip) - if !line1 && !line2 - let [line1, col1] = searchpairpos(open, '', close, 'brn', g:fireplace#skip) - let [line2, col2] = searchpairpos(open, '', close, 'crn', g:fireplace#skip) - endif - while col1 > 1 && getline(line1)[col1-2] =~# '[#''`~@]' - let col1 -= 1 - endwhile - else - let line1 = a:line1 - let line2 = a:line2 - let col1 = 1 - let col2 = strlen(getline(line2)) - endif - if !line1 || !line2 - return '' - endif - let options.file_path = s:buffer_path() - let expr = repeat("\n", line1-1).repeat(" ", col1-1) - if line1 == line2 - let expr .= getline(line1)[col1-1 : col2-1] - else - let expr .= getline(line1)[col1-1 : -1] . "\n" - \ . join(map(getline(line1+1, line2-1), 'v:val . "\n"')) - \ . getline(line2)[0 : col2-1] - endif - if a:bang - exe line1.','.line2.'delete _' - endif - endif - if a:bang - try - let result = fireplace#session_eval(expr, options) - if a:args !=# '' - call append(a:line1, result) - exe a:line1 - else - call append(a:line1-1, result) - exe a:line1-1 - endif - catch /^Clojure:/ - endtry - else - call fireplace#echo_session_eval(expr, options) - endif - return '' -endfunction - -augroup fireplace_bindings - autocmd FileType lisp call s:set_up_eval() -augroup END - -function! s:Doc(symbol) abort - let info = fireplace#info(a:symbol) - if has_key(info, 'ns') && has_key(info, 'name') - echo info.ns . ' ' . info.name - elseif has_key(info, "name") - echo info.name - endif - if get(info, 'arglists-str', 'nil') !=# 'nil' - echo info['arglists-str'] - endif - if !empty(get(info, 'doc', '')) - echo "\n" . info.doc - endif - return '' -endfunction - -function! s:K() abort - let word = expand('') - return 'Doc '.word -endfunction diff -r edc1952ba1b7 -r c50d62b096fe vim/after/plugin/fireplace-map-unfucking.vim --- a/vim/after/plugin/fireplace-map-unfucking.vim Fri Jan 22 11:08:10 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -" These are all out here in the middle of goddamned nowhere because Fireplace is -" an asshole and won't let you disable mappings like any other plugin. - -augroup unmap_fireplace_bullshit - au! - - au Filetype clojure nunmap cp - au Filetype clojure nunmap cpp - - au Filetype clojure nunmap c! - au Filetype clojure nunmap c!! - - au Filetype clojure nunmap cq - au Filetype clojure nunmap cqq - - au Filetype clojure nunmap cqp - au Filetype clojure nunmap cqc - - au Filetype clojure nunmap cpr - - au Filetype clojure nunmap K - au Filetype clojure nunmap [d - au Filetype clojure nunmap ]d - - au Filetype clojure nunmap [ - au Filetype clojure nunmap ] - - au Filetype clojure nunmap - au Filetype clojure nunmap d - au Filetype clojure nunmap gd -augroup END - -augroup map_good_fireplace_keys - au! - - " [M]an (get documentation) - au Filetype clojure nmap M FireplaceK - - " Go to Definition - au Filetype clojure nmap FireplaceDjumpmzzvzz15'z:Pulse - au Filetype clojure nmap vFireplaceDjumpmzzMzvzz15'z:Pulse - - " Require - au Filetype clojure nnoremap r :Require - - " Require Harder - au Filetype clojure nnoremap R :Require! - - " Get [S]ource - " au Filetype clojure nmap s FireplaceSource - - " Eval Buffer - au Filetype clojure nnoremap b :%Eval - - " Eval Form - au Filetype clojure nmap f FireplacePrintab - - " Eval Top-Level Form - au Filetype clojure nmap e mz$:call PareditFindDefunBck()FireplacePrintab'z - - " Open clojure command line editor client window thing - au Filetype clojure exe 'nmap E FireplacePrompt' . &cedit . 'i' - - " [S]how Last Result - au Filetype clojure nnoremap s :Last -augroup END