Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

A ton.

  • Loading branch information...
commit 16dfbfb5768c9bcd222c69bd6a2be405f300859d 1 parent cd7fb71
@sjl authored
View
10 .gitconfig
@@ -1,6 +1,6 @@
[user]
- name = Steve Losh
- email = steve@stevelosh.com
+ name = Steve Losh
+ email = steve@stevelosh.com
[core]
pager = cat
@@ -32,7 +32,7 @@
unstage = reset HEAD
uns = reset HEAD
- currentbranch = !git branch --contains HEAD | tr -s ' ' | cut -d ' ' -f2
+ currentbranch = !git branch --contains HEAD | grep '*' | tr -s ' ' | cut -d ' ' -f2
fo = fetch origin
fu = fetch upstream
po = push origin
@@ -41,7 +41,7 @@
uo = !git merge --ff-only origin/`git currentbranch`
[push]
- default = current
+ default = current
[color]
branch = auto
@@ -65,4 +65,4 @@
cmd = "mvim -f $BASE $LOCAL $REMOTE $MERGED -c 'ThreesomeInit'"
trustExitCode = true
[web]
- browser = open
+ browser = open
View
4 .hgsubstate
@@ -1,5 +1,5 @@
c711681883f3419b85494e3b285b988e8e2dcbca keymando/Plugins/abbrev
-c060c94622e92e091b2c67499fdda16d91b68c01 mercurial/templates
+4d95cb18a3b420154ef978c53de1d2e692f8343d mercurial/templates
d2bb7878622e4c16203acf1c92a0f4bc7ac58003 vim/bundle/AnsiEsc.vim
a41d5d52c39a31128e969e69acf800b198cb07f9 vim/bundle/ack
420174fc537ba986a716964db7af0bd189252944 vim/bundle/ctrlp
@@ -15,7 +15,7 @@ b7889db57c90824ff5092da4fdde9e05689f24fa vim/bundle/nosecompiler
4df0cdc009e590c1d6ec32a2a3c12ff8deeb6f25 vim/bundle/powerline
67033ee4b9ee6d4916752da5e360b65ddf2fb525 vim/bundle/python-mode
fa3563dda862c1dc46ddac32d8a9f939e9077379 vim/bundle/rainbow-parentheses
-94be465cea8433908caaeea74422e1d28322a43e vim/bundle/slimv
+f5b2b1945dd65b0a3a6d75f9e8cdfe32011a180d vim/bundle/slimv
c6197a10ace82e0fe0c08e5cf5c017b7069a978e vim/bundle/sparkup
6eec2c131213850ed65fd6da494dfd1a0d620a4e vim/bundle/strftimedammit
ac395b57fec47f034cba151d01669d134ac7041b vim/bundle/supertab
View
10 .pentadactylrc
@@ -26,8 +26,14 @@ nnoremap J :tn<CR>
nnoremap K :tp<CR>
" Finally I can overwrite the stupid fucking Firebug toggling correctly.
-nnoremap <c-f> <f12>
-nnoremap <c-g> <s-f12>
+" nnoremap <c-f> <f12>
+" nnoremap <c-g> <s-f12>
+
+nnoremap <c-g> <m-a-k>
+inoremap <c-g> <esc><m-a-k>
+
+nnoremap <c-f> <m-a-i>
+inoremap <c-f> <esc><m-a-i>
" Shift is hard.
nnoremap ; :
View
2  .zshrc
@@ -23,6 +23,8 @@ alias bp='bpython'
# Environment variables ------------------------------------------------------
export EDITOR='vim'
export PATH="$HOME/.gem/ruby/1.8/bin:${PATH}"
+export PATH="$HOME/bin:${PATH}"
+export PATH="$HOME/lib/dotfiles/bin:${PATH}"
export PATH="$HOME/bin:/usr/local/bin:/usr/local/sbin:/opt/local/bin:$PATH"
export PATH="/opt/subversion/bin:${PATH}"
export PATH="/usr/local/Cellar/ruby/1.9.2-p290/bin:${PATH}"
View
3  dotcss/google.com.css
@@ -0,0 +1,3 @@
+button.gbil {
+ display: none;
+}
View
62 vim/.vimrc
@@ -139,7 +139,8 @@ let maplocalleader = "\\"
syntax on
set background=dark
-colorscheme molokai
+" colorscheme molokai
+colorscheme badwolf
" Highlight VCS conflict markers
match ErrorMsg '^\(<\|=\|>\)\{7\}\([^=].\+\)\?$'
@@ -360,23 +361,33 @@ augroup ft_clojure
au FileType clojure call TurnOnClojureFolding()
au FileType clojure compiler clojure
au FileType clojure setlocal report=100000
- au FileType clojure nnoremap <buffer> o jI<cr><esc>kA
- au FileType clojure nnoremap <buffer> O I<cr><esc>kA
- au BufWinEnter Slimv.REPL.clj setlocal winfixwidth
- au BufNewFile,BufRead Slimv.REPL.clj setlocal nowrap
- au BufNewFile,BufRead Slimv.REPL.clj setlocal foldlevel=99
- au BufNewFile,BufRead Slimv.REPL.clj nnoremap <buffer> A GA
- au BufNewFile,BufRead Slimv.REPL.clj nnoremap <buffer> <localleader>R :emenu REPL.<Tab>
+ au BufWinEnter SLIMV.REPL setlocal winfixwidth nolist
+ au BufNewFile,BufReadPost SLIMV.REPL setlocal nowrap foldlevel=99
+ au BufNewFile,BufReadPost SLIMV.REPL nnoremap <buffer> A GA
+ au BufNewFile,BufReadPost SLIMV.REPL nnoremap <buffer> <localleader>R :emenu REPL.<Tab>
" Fix the eval mapping.
au FileType clojure nmap <buffer> \ee \ed
+ " And the inspect mapping.
+ au FileType clojure nmap <buffer> \i \di
+
" Indent top-level form.
au FileType clojure nmap <buffer> <localleader>= v((((((((((((=%
+augroup END
+
+" }}}
+" Clojurescript {{{
- " Use a swank command that works, and doesn't require new app windows.
- au FileType clojure let g:slimv_swank_cmd='!dtach -n /tmp/dtach-swank.sock -r winch lein swank'
+augroup ft_clojurescript
+ au!
+
+ au BufNewFile,BufRead *.cljs set filetype=clojurescript
+ au FileType clojurescript call TurnOnClojureFolding()
+
+ " Send current toplevel form to dtach.
+ au FileType clojurescript nnoremap <buffer> \ee mz:call SelectToplevelForm()<cr>:call SendToDtach(1)<cr>`z
augroup END
" }}}
@@ -691,6 +702,7 @@ nnoremap <leader>ev <C-w>v<C-w>j:e $MYVIMRC<cr>
nnoremap <leader>es <C-w>v<C-w>j:e ~/.vim/snippets/<cr>
nnoremap <leader>eo <C-w>v<C-w>j:e ~/Dropbox/Org<cr>4j
nnoremap <leader>eh <C-w>v<C-w>j:e ~/.hgrc<cr>
+nnoremap <leader>ep <C-w>v<C-w>j:e ~/.pentadactylrc<cr>
nnoremap <leader>em <C-w>v<C-w>j:e ~/.mutt/muttrc<cr>
nnoremap <leader>ez <C-w>v<C-w>j:e ~/lib/dotfiles/zsh<cr>4j
nnoremap <leader>ek <C-w>v<C-w>j:e ~/lib/dotfiles/keymando/keymandorc.rb<cr>
@@ -833,6 +845,9 @@ set pastetoggle=<F8>
inoremap <c-cr> <esc>A<cr>
inoremap <s-cr> <esc>A:<cr>
+" Toggle [I]nvisible Characters
+nnoremap <leader>I :set list!<cr>
+
" Indent Guides {{{
let g:indentguides_state = 0
@@ -1131,9 +1146,13 @@ nnoremap <silent> <leader><tab> :ScratchToggle<cr>
" }}}
" SLIMV {{{
-"let g:slimv_lisp = '"java -cp `lein classpath` clojure.main"'
+let g:slimv_repl_name = 'SLIMV.REPL'
let g:slimv_repl_split = 4
let g:slimv_repl_syntax = 1
+let g:slimv_repl_wrap = 0
+
+" Use a swank command that works, and doesn't require new app windows.
+let g:slimv_swank_clojure = '!dtach -n /tmp/dtach-swank.sock -r winch lein swank'
" }}}}
" Sparkup {{{
@@ -1559,7 +1578,24 @@ command! NyanMe call NyanMe()
" }}}
" Dtach ------------------------------------------------------------------- {{{
-vnoremap <localleader>e :<c-u>silent '<,'>w !dtach -s /tmp/target<cr>:silent !echo \| dtach -s /tmp/target<cr>
-nnoremap <localleader>e ^vg_:<c-u>silent '<,'>w !dtach -s /tmp/target<cr>
+function! SendToDtach(visual)
+ if a:visual
+ silent '<,'>w !dtach -s /tmp/target
+ silent !echo \| dtach -s /tmp/target
+ else
+ normal! ^vg_
+ silent '<,'>w !dtach -s /tmp/target
+ execute "normal! <esc>"
+ endif
+endfunction
+
+function! SelectToplevelForm()
+ " lol
+ silent! normal vabababababababababababababababababababababababababab
+endfunction
+
+
+nnoremap <localleader>e :call SendToDtach(0)
+vnoremap <localleader>e :call SendToDtach(1)
" }}}
View
2  vim/colors/molokai.vim
@@ -8,8 +8,6 @@
" by Hamish Stuart Macpherson
"
-hi clear
-
set background=dark
let g:colors_name="molokai"
View
138 vim/ftplugin/clojure/clojurefolding.vim
@@ -3,51 +3,103 @@ if exists('loaded_clojurefolding') || &cp
endif
let loaded_clojurefolding=1
-" ---------------------------------------------------------------------------
-" Automagic Clojure folding on defn's and defmacro's
-"
-function GetClojureFold()
- if getline(v:lnum) =~ '^\s*(defn.*\s'
- return ">1"
- elseif getline(v:lnum) =~ '^\s*(def .*\s'
- return ">1"
- elseif getline(v:lnum) =~ '^\s*(defmacro.*\s'
- return ">1"
- elseif getline(v:lnum) =~ '^\s*(ns.*\s'
- return ">1"
- elseif getline(v:lnum) =~ '^\s*(defmethod.*\s'
- return ">1"
- elseif getline(v:lnum) =~ '^\s*(defpage.*\s'
- return ">1"
- elseif getline(v:lnum) =~ '^\s*(defpartial.*\s'
- return ">1"
- elseif getline(v:lnum) =~ '^\s*(deftest.*\s'
+let folded_forms = [
+ \ 'def',
+ \ 'defn',
+ \ 'defn-',
+ \ 'defprotocol',
+ \ 'defparser',
+ \ 'defmacro',
+ \ 'defmethod',
+ \ 'defmulti',
+ \ 'defonce',
+ \ 'defpage',
+ \ 'defpartial',
+ \ 'deftest',
+ \ 'defroutes',
+ \ 'ns'
+ \ ]
+let s:form_re = '\v^\((' . join(folded_forms, '|') . ')\s'
+let s:form_re_bare = '\v^\((' . join(folded_forms, '|') . ')$'
+
+function! s:NextNonBlankLineContents(start)
+ let lnum = a:start
+ let max = line("$")
+
+ while 1
+ let lnum += 1
+
+ " If we've run off the end of the file, return a blank string as
+ " a sentinel.
+ if lnum > max
+ return ""
+ endif
+
+ " Otherwise, get the contents.
+ let contents = getline(lnum)
+
+ " If they're non-blank, return it. Otherwise we'll loop to the next
+ " line.
+ if contents =~ '\v\S'
+ return contents
+ endif
+ endwhile
+endfunction
+
+function! GetClojureFold()
+ let line = getline(v:lnum)
+
+ if line =~ s:form_re || line =~ s:form_re_bare
+ " We're on one of the forms we want to fold.
+
+ let nextline = s:NextNonBlankLineContents(v:lnum)
+
+ " If we've run off the end of the file, this means we're on a top-level
+ " form with no later nonblank lines in the file. This has to be a one
+ " liner, because there's no content left that could be closing parens!
+ if nextline == ""
+ return 0
+ elseif nextline =~ '\v^\s+'
+ " If it's indented, this almost certainly isn't a one-liner. Fold
+ " away!
return ">1"
- elseif getline(v:lnum) =~ '^\s*$'
- let my_cljnum = v:lnum
- let my_cljmax = line("$")
-
- while (1)
- let my_cljnum = my_cljnum + 1
- if my_cljnum > my_cljmax
- return "<1"
- endif
-
- let my_cljdata = getline(my_cljnum)
-
- " If we match an empty line, stop folding
- if my_cljdata =~ '^$'
- return "<1"
- else
- return "="
- endif
- endwhile
- else
+ else
+ " Otherwise, the next non-blank line after this one is not
+ " indented. This means we're on a one-liner, so we don't want to
+ " fold.
+ return 0
+ endif
+ elseif line =~ '^\s*$'
+ " We need to look at the next non-blank line to determine how to fold
+ " blank lines.
+ let nextline = s:NextNonBlankLineContents(v:lnum)
+
+ " If we've run off the end of the file, this means we're on one of
+ " a series of blank lines ending the file. They shouldn't be folded
+ " with anything.
+ if nextline == ""
+ return 0
+ elseif nextline =~ '\v^\s+'
+ " If it's indented, we're in the middle of an existing form.
+ " Just fold with that.
return "="
- endif
+ else
+ " Otherwise, the next non-blank line after this one is not
+ " indented. That means we need to close any existing folds
+ " here.
+ return "<1"
+ endif
+ elseif line =~ '\v^\s+\S'
+ " Indented content, fold it into any existing folds.
+ return "="
+ else
+ " We are sitting on a non-blank, non-indented line, but it's not one of
+ " our special top-level forms, so we'll just leave it alone.
+ return 0
+ endif
endfunction
-function TurnOnClojureFolding()
- setlocal foldexpr=GetClojureFold()
- setlocal foldmethod=expr
+function! TurnOnClojureFolding()
+ setlocal foldexpr=GetClojureFold()
+ setlocal foldmethod=expr
endfunction
View
1  vim/ftplugin/clojurescript/clojurefolding.vim
View
6 vim/syntax/less.vim
@@ -42,6 +42,7 @@ syn keyword cssTagName article aside header hgroup footer section nav figure
syn keyword cssTagName figcaption mark summary command datalist details output
syn keyword cssTagName progress meter time embed keygen wbr audio video canvas
+
syn match cssTagName "@page\>" nextgroup=cssDefinition
syn match cssSelectorOp "[+>.]"
@@ -49,7 +50,7 @@ syn match cssSelectorOp2 "[~|]\?=" contained
syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" transparent contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
try
-syn match cssIdentifier "#[A-Za-zÀ-ÿ_@][A-Za-zÀ-ÿ0-9_@-]*"
+syn match cssIdentifier "#[A-Za-zÀ-ÿ_@][A-Za-zÀ-ÿ0-9_@-]*"
catch /^.*/
syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*"
endtry
@@ -187,7 +188,7 @@ syn keyword cssTableAttr contained fixed collapse separate show hide once always
syn match lessComment "//.*$" contains=@Spell
-syn match lessVariable "@[A-Za-z_-][A-Za-z0-9_-]*" contained
+syn match lessVariable "@[A-Za-z_-][A-Za-z0-9_-]*"
syn region lessVariableDefinition start="^@" end=";" contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssDefinition,cssClassName,cssTagName,cssIdentifier,lessComment,lessVariable,lessFunction
" captures both the definition and the call
@@ -308,3 +309,4 @@ endif
" vim: ts=8
+
Please sign in to comment.
Something went wrong with that request. Please try again.