This commit is contained in:
William Carroll 2016-08-01 17:10:07 -04:00
commit d4d57ba170
21 changed files with 410 additions and 0 deletions

BIN
usbify/.DS_Store vendored Normal file

Binary file not shown.

11
usbify/README.md Normal file
View file

@ -0,0 +1,11 @@
# USBify
This folder contains packages to make applications into USB portable.
## vim
Run the `vim_to_usb.sh` script to point your $HOME/.vim folder to an external USB
* vim_to_usb.sh
* .vimrc
* .vim

44
usbify/update.sh Executable file
View file

@ -0,0 +1,44 @@
#!/usr/bin/env bash
# This script is used to ensure the USB has the latest code from the repository.
# Update the following values to reflect the locations of each directory on your
# particular machine.
path_to_local_repo="$HOME/pc_settings" # path to git repo
path_to_ext_device="/Volumes/usb_vim/" # path to USB device
if [ ! -d "$path_to_ext_device" ]; then
echo "No external device found at ${path_to_ext_device}."
echo "Make sure the values input within update.sh are correct."
echo "path_to_ext_device: $path_to_ext_device"
echo "Exiting."
return 1
fi
if [ ! -d "$path_to_local_repo" ]; then
echo "No repository found at ${path_to_local_repo}."
echo "Make sure the values input within update.sh are correct."
echo "path_to_local_repo: $path_to_local_repo"
echo "Exiting."
return 1
fi
pushd "$path_to_ext_device" >/dev/null
# Update the local copy of the repo.
echo "Updating pc_settings..."
pushd "$path_to_local_repo" >/dev/null
git pull origin master
echo ""
echo "Copying files to external device..."
popd # $(pwd) -eq $path_to_ext_device
# copy the vim contents from $HOME/pc_settings into $path_to_ext_device
rm -rf ./vim
cp -r "${path_to_local_repo}/usbify/vim" .
echo ""
popd # restore the dirs to its state before running this script
echo "Done."

BIN
usbify/vim/.vim/.DS_Store vendored Normal file

Binary file not shown.

View file

@ -0,0 +1,11 @@
let g:netrw_dirhistmax =10
let g:netrw_dirhist_cnt =9
let g:netrw_dirhist_1='/Users/wcarroll/huge/projects/google/cerebro/static/js'
let g:netrw_dirhist_2='/Users/wcarroll/huge/projects/google/cerebro/static'
let g:netrw_dirhist_3='/Users/wcarroll/huge/projects/google/cerebro'
let g:netrw_dirhist_4='/Users/wcarroll'
let g:netrw_dirhist_5='/Users'
let g:netrw_dirhist_6='/'
let g:netrw_dirhist_7='/Users/wcarroll/huge/projects/google/cerebro'
let g:netrw_dirhist_8='/Users/wcarroll'
let g:netrw_dirhist_9='/Users/wcarroll/huge/projects/google/cerebro'

@ -0,0 +1 @@
Subproject commit c822b05ee0886f9a9703227dc85a6d47612c4bf1

@ -0,0 +1 @@
Subproject commit 4984767509e3d05ca051e253c8a8b37de784be45

@ -0,0 +1 @@
Subproject commit 354c429dad34f7d163663943c948f819588b53d3

@ -0,0 +1 @@
Subproject commit b9fa920b4abbb54799927a3bc57869fdd556321a

@ -0,0 +1 @@
Subproject commit 2e2b649232d6ae4d02d74793e5da0ee08480ad8d

@ -0,0 +1 @@
Subproject commit a78607c9f63f270137e472126ee1b2c3ae52a845

@ -0,0 +1 @@
Subproject commit d400a570bf64b0c216aa7c8e1795820b911a7404

@ -0,0 +1 @@
Subproject commit 6014bdc57f161f5ae5140e4247b144ae149bf894

@ -0,0 +1 @@
Subproject commit c00ebd75ac23f4080c0d0bf9453b16304a3fb316

@ -0,0 +1 @@
Subproject commit e5d4bfb5dab8c4f122b97fe9c3ed2f2d1e8b3bdc

@ -0,0 +1 @@
Subproject commit 5cb4b369cac5b29dd7f2e688b23a2b57263972ab

View file

@ -0,0 +1 @@
au BufRead,BufNewFile *.soy set filetype=soy

View file

@ -0,0 +1,46 @@
"============================================================================
"File: gjslint.vim
"Description: Javascript syntax checker - using gjslint
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
"License: This program is free software. It comes without any warranty,
" to the extent permitted by applicable law. You can redistribute
" it and/or modify it under the terms of the Do What The Fuck You
" Want To Public License, Version 2, as published by Sam Hocevar.
" See http://sam.zoy.org/wtfpl/COPYING for more details.
"============================================================================
if exists('g:loaded_syntastic_javascript_gjslint_checker')
finish
endif
let g:loaded_syntastic_javascript_gjslint_checker = 1
let s:save_cpo = &cpo
set cpo&vim
function! SyntaxCheckers_javascript_gjslint_GetLocList() dict
call syntastic#log#deprecationWarn('javascript_gjslint_conf', 'javascript_gjslint_args')
let makeprg = self.makeprgBuild({
\ 'args': '--nodebug_indentation',
\ 'args_after': '--check_html --nosummary --unix_mode --nobeep' })
let errorformat =
\ "%f:%l:(New Error -%\\?\%n) %m," .
\ "%f:%l:(-%\\?%n) %m," .
\ "%-G1 files checked," .
\ " no errors found.," .
\ "%-G%.%#"
return SyntasticMake({
\ 'makeprg': makeprg,
\ 'errorformat': errorformat })
endfunction
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'javascript',
\ 'name': 'gjslint'})
let &cpo = s:save_cpo
unlet s:save_cpo
" vim: set sw=4 sts=4 et fdm=marker:

View file

@ -0,0 +1,145 @@
" Google Closure templates syntax file.
" Language: Soy
" Maintainer: Dugan Chen (https://github.com/duganchen)
"
if exists("b:current_syntax")
finish
endif
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
syntax clear
syntax case match
syntax keyword soyConstant contained null
syntax keyword soyConstant contained false
syntax keyword soyConstant contained true
syntax keyword soyFunction contained isFirst
syntax keyword soyFunction contained isLast
syntax keyword soyFunction contained index
syntax keyword soyFunction contained hasData
syntax keyword soyFunction contained length
syntax keyword soyFunction contained round
syntax keyword soyFunction contained floor
syntax keyword soyFunction contained ceiling
syntax keyword soyFunction contained min
syntax keyword soyFunction contained max
syntax keyword soyFunction contained randomInt
syntax keyword soyFunction contained bidiGlobalDir
syntax keyword soyFunction contained bidiDirAttr
syntax keyword soyFunction contained bidiMark
syntax keyword soyFunction contained bidiMarkAfter
syntax keyword soyFunction contained bidiStartEdge
syntax keyword soyFunction contained bidiEndEdge
syntax keyword soyFunction contained bidiTextDir
syntax keyword soyStatement contained namespace
syntax keyword soyStatement contained template
syntax keyword soyStatement contained delpackage
syntax keyword soyStatement contained deltemplate
syntax keyword soyKeyword contained literal
syntax keyword soyKeyword contained print
syntax keyword soyKeyword contained msg
syntax keyword soyKeyword contained call
syntax keyword soyKeyword contained delcall
syntax keyword soyKeyword contained param
syntax keyword soyKeyword contained let
syntax keyword soyKeyword contained css
syntax keyword soyConditional contained if
syntax keyword soyConditional contained elseif
syntax keyword soyConditional contained else
syntax keyword soyConditional contained switch
syntax keyword soyConditional contained case
syntax keyword soyConditional contained default
syntax keyword soyConditional contained ifempty
syntax keyword soyRepeat contained foreach
syntax keyword soyRepeat contained for
syntax keyword soyRepeat contained in
syntax keyword soyRepeat contained range
syntax keyword soyCharacter contained sp
syntax keyword soyCharacter contained nil
syntax keyword soyCharacter contained r
syntax keyword soyCharacter contained n
syntax keyword soyCharacter contained t
syntax keyword soyCharacter contained lb
syntax keyword soyCharacter contained rb
syntax keyword soyDirective contained private
syntax keyword soyDirective contained autoescape
syntax keyword soyDirective contained noAutoescape
syntax keyword soyDirective contained id
syntax keyword soyDirective contained escapeCssString
syntax keyword soyDirective contained escapeHtml
syntax keyword soyDirective contained escapeHtmlRcdata
syntax keyword soyDirective contained escapeHtmlAttribute
syntax keyword soyDirective contained escapeHtmlAttributeNospace
syntax keyword soyDirective contained escapeUri
syntax keyword soyDirective contained escapeJs
syntax keyword soyDirective contained escapeJsRegex
syntax keyword soyDirective contained escapeJsString
syntax keyword soyDirective contained escapeJsValue
syntax keyword soyDirective contained truncate
syntax keyword soyDirective contained insertWordBreaks
syntax keyword soyDirective contained changeNewlineToBr
syntax keyword soyDirective contained desc
syntax keyword soyDirective contained meaning
syntax keyword soyDirective contained data
syntax keyword soyDirective contained kind
syntax keyword soyDirective contained variant
syntax keyword soyDirective contained bidiSpanWrap
syntax keyword soyDirective contained bidiUnicodeWrap
syntax match soySpecialComment /@param?\?/ contained
syntax region soyCommand start="{" end="}" contains=soyKeyword, soyDirective, soyIdentifier, soyString, soyTemplate, soyConstant, soyInteger, soyCharacter, soyFloat, soySci, soyOperator, soyFunction, soyRepeat, soyConditional, soyStatement, soyLabel
syntax region soyString contained start="\'" end="\'"
syntax region soyString contained start="\"" end="\""
syntax match soyIdentifier /\$[a-zA-Z0-9._]*\>/ contained
syntax region soyComment start=/\/\*/ end='\\*\/' contains=soySpecialComment
syntax match soyComment /\/\/.*$/
syntax match soyTemplate /\s\+\.\w\+\>/ contained
syntax match soyInteger /\-\?\(0x\)\?[A-F0-9]\+\>/ contained
syntax match soyNumber /\-\?\d\+\(e\-\?\d\+\)\?\>/ contained
syntax match soyFloat /\-\?\d\+\.\d\+\>/ contained
syntax match soySci /\-\?\d\+e\-\?\d\+\>/ contained
syntax match soyOperator /\<\(not\|and\|or\)\>/ contained
syntax match soyLabel /\<\w\+:/ contained
" Yes, this causes the - in -1 to show as an operator. This is a bug.
syntax match soyOperator /[-*/%+<>=!?:]/ contained
highlight def link soyOperator Operator
highlight def link soyKeyword Statement
highlight def link soyDirective Type
highlight def link soyIdentifier Identifier
highlight def link soyString String
highlight def link soyComment Comment
highlight def link soyTemplate Identifier
highlight def link soyInteger Number
highlight def link soyFloat Float
highlight def link soySci Float
highlight def link soyConstant Constant
highlight def link soyCharacter Character
highlight def link soyFunction Function
highlight def link soyRepeat Repeat
highlight def link soyConditional Conditional
highlight def link soyStatement Statement
highlight def link soySpecialComment SpecialComment
highlight def link soyLabel Identifier

89
usbify/vim/.vimrc Normal file
View file

@ -0,0 +1,89 @@
" -- BEGIN: Vundle config --
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
Plugin 'tpope/vim-fugitive'
" All of your Plugins must be added before the following line
Plugin 'othree/yajs.vim'
Plugin 'crusoexia/vim-monokai'
Plugin 'scrooloose/syntastic'
Plugin 'scrooloose/nerdtree'
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
" -- END: Vundle config --
" -- Syntastic Settings --
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 1
let g:syntastic_javascript_checkers = ['gjslint']
syntax on
set number
set tabstop=2
set expandtab
set shiftwidth=2
colorscheme monokai
set t_Co=255
" add 80 character wrap line
highlight OverLength ctermbg=red ctermfg=white guibg=#592929
match OverLength /\%81v.\+/
" map jj to <Esc>
imap jj <Esc>
" map ctrl + n to :NERDTree
map <C-n> :NERDTreeToggle<CR>
" trim trailing whitespace on save
autocmd BufWritePre *.{js,py,tpl,html} :%s/\s\+$//e
" set default font and size
set guifont=Operator\ Mono:h16
" -- fuzzy-finder --
set runtimepath^=~/.vim/bundle/ctrlp.vim
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
let g:ctrlp_custom_ignore = {
\ 'dir': 'node_modules'
\ }

52
usbify/vim/vim_point_to_usb.sh Executable file
View file

@ -0,0 +1,52 @@
#!/usr/bin/env bash
path_to_ext_device="/Volumes/usb_vim"
# ensure there is an external device connected and that the path to it is
# accurate.
if [ ! -d "$path_to_ext_device" ]; then
echo "No external device found at: $path_to_ext_device"
echo "Ensure that the value set for path_to_ext_device is correct."
echo "path_to_ext_device: $path_to_ext_device"
echo "Exiting."
return 1
fi
# This script toggles between local vim and a version that can be stored on an
# external device like a USB.
# USB --> local machine
if [ -L "$HOME/.vim" ] && [ -L "$HOME/.vimrc" ]; then
echo "Pointing to USB. Toggling back to local machine..."
# remove the symlinks
rm "$HOME/.vim"
rm "$HOME/.vimrc"
# restore back-ups as active files
[ -d "$HOME/.vim.bak" ] && mv "$HOME/.vim.bak" "$HOME/.vim"
[ -f "$HOME/.vimrc.bak" ] && mv "$HOME/.vimrc.bak" "$HOME/.vimrc"
echo ".vim now points to $HOME/.vim"
echo ".vimrc now points to $HOME/.vimrc"
# local machine --> USB
else
echo "Pointing to local machine. Toggling to USB..."
# back-up local machine's files
[ -d "$HOME/.vim" ] && mv "$HOME/.vim" "$HOME/.vim.bak"
[ -f "$HOME/.vimrc" ] && mv "$HOME/.vimrc" "$HOME/.vimrc.bak"
# symlink .vim and .vimrc to external device
ln -s "${path_to_ext_device}/vim/.vim" "$HOME/.vim"
ln -s "${path_to_ext_device}/vim/.vimrc" "$HOME/.vimrc"
echo ".vim now points to ${path_to_ext_device}/vim/.vim"
fi
echo "Done."