--- /dev/null
+[submodule "base/.vim/pack/todo.txt/start/todo.txt-vim"]
+ path = base/.vim/pack/todo.txt/start/todo.txt-vim
+ url = https://github.com/freitass/todo.txt-vim
+[submodule "base/.vim/pack/surround.vim/start/vim-surround"]
+ path = base/.vim/pack/surround.vim/start/vim-surround
+ url = https://github.com/tpope/vim-surround
+[submodule "base/.vim/pack/commentary.vim/start/vim-commentary"]
+ path = base/.vim/pack/commentary.vim/start/vim-commentary
+ url = https://github.com/tpope/vim-commentary
+[submodule "base/.vim/pack/speeddating.vim/start/vim-speeddating"]
+ path = base/.vim/pack/speeddating.vim/start/vim-speeddating
+ url = https://github.com/tpope/vim-speeddating
+[submodule "base/.vim/pack/repeat.vim/start/vim-repeat"]
+ path = base/.vim/pack/repeat.vim/start/vim-repeat
+ url = https://github.com/tpope/vim-repeat
-! generic settings
+! fonts
!xft:Dina:size=8
-*font: -*-dina-medium-r-*-*-10-*-*-*-*-*-*-*
+*font: -*-dina-medium-r-*-*-10-*-*-*-*-*-*-*
+*faceName: Dina
+*faceSize: 8
+Xft.antialias: true
+Xft.dpi: 96
+Xft.hinting: true
+Xft.hintstyle: hintslight
+Xft.rgba: none
! Solarized colors, http://ethanschoonover.com/solarized
-!#define S_base03 #002b36
-#define S_base03 #000a0d
-#define S_base02 #073642
-#define S_base01 #586e75
-#define S_base00 #657b83
-#define S_base0 #839496
-#define S_base1 #93a1a1
-#define S_base2 #eee8d5
-#define S_base3 #fdf6e3
-*background: S_base03
-*foreground: S_base0
-*fadeColor: S_base03
-*cursorColor: S_base1
-*pointerColorBackground: S_base01
-*pointerColorForeground: S_base1
+!#define S_base03 #002b36
+#define S_base03 #000a0d
+#define S_base02 #073642
+#define S_base01 #586e75
+#define S_base00 #657b83
+#define S_base0 #839496
+#define S_base1 #93a1a1
+#define S_base2 #eee8d5
+#define S_base3 #fdf6e3
+*background: S_base03
+*foreground: S_base0
+*fadeColor: S_base03
+*cursorColor: S_base1
+*pointerColorBackground: S_base01
+*pointerColorForeground: S_base1
-#define S_yellow #b58900
-#define S_orange #cb4b16
-#define S_red #dc322f
-#define S_magenta #d33682
-#define S_violet #6c71c4
-#define S_blue #268bd2
-#define S_cyan #2aa198
-!#define S_green #859900
-#define S_green #85c000
+#define S_yellow #b58900
+#define S_orange #cb4b16
+#define S_red #dc322f
+#define S_magenta #d33682
+#define S_violet #6c71c4
+#define S_blue #268bd2
+#define S_cyan #2aa198
+!#define S_green #859900
+#define S_green #85c000
! black dark/light
-*color0: S_base02
-*color8: S_base03
+*color0: S_base02
+*color8: S_base03
! red dark/light
-*color1: S_red
-*color9: S_orange
+*color1: S_red
+*color9: S_orange
! green dark/light
-*color2: S_green
-*color10: S_base01
+*color2: S_green
+*color10: S_base01
! yellow dark/light
-*color3: S_yellow
-*color11: S_base00
+*color3: S_yellow
+*color11: S_base00
! blue dark/light
-*color4: S_blue
-*color12: S_base0
+*color4: S_blue
+*color12: S_base0
! magenta dark/light
-*color5: S_magenta
-*color13: S_violet
+*color5: S_magenta
+*color13: S_violet
! cyan dark/light
-*color6: S_cyan
-*color14: S_base1
+*color6: S_cyan
+*color14: S_base1
! white dark/light
-*color7: S_base2
-*color15: S_base3
+*color7: S_base2
+*color15: S_base3
! underline
-*underlineColor: S_yellow
+*underlineColor: S_yellow
! URxvt
-URxvt.termName: rxvt-256color
-URxvt.perl-ext:
+URxvt.termName: rxvt-256color
+URxvt.perl-ext: matcher
URxvt.perl-ext-common:
-URxvt.cursorBlink: on
-URxvt.scrollstyle: plain
-URxvt.scrollBar_right: true
-URxvt.urgentOnBell: true
-URxvt.visualBell: true
+URxvt.depth: 32
+URxvt.background: rgba:0000/0a00/0d00/d000
+URxvt.internalBorder: 1
+URxvt.dynamicColors: true
+URxvt.intensityStyles: false
+URxvt.cursorBlink: on
+URxvt.scrollstyle: plain
+URxvt.scrollBar_right: true
+URxvt.urgentOnBell: true
+URxvt.visualBell: true
-URxvt.depth: 32
-URxvt.background: rgba:0000/0a00/0d00/d000
-URxvt.dynamicColors: true
-URxvt.intensityStyles: false
+URxvt.url-launcher: /usr/local/bin/xdg-open
+URxvt.matcher.button: 1
+URxvt.matcher.rend.0: Uline Bold fg6
+URxvt.matcher.pattern.0: \\bwww\\.[\\w-]+\\.[\\w./?&@#-]*[\\w/-]
+URxvt.matcher.pattern.1: \\B(/\\S+?):(\\d+)(?=:|$)
+URxvt.matcher.launcher.1: vim +$2 $1
+URxvt.keysym.M-o: matcher:last
+URxvt.keysym.M-u: matcher:list
-URxvt.print-pipe: cat > "$HOME/urxvt-$(date +'%Y-%m-%d-%H%M%S')"
+URxvt.print-pipe: cat > "$HOME/urxvt-$(date +'%Y-%m-%d-%H%M%S')"
! bg terminal
-URxvtRoot.termName: rxvt-256color
-URxvtRoot.perl-ext:
-URxvtRoot.perl-ext-common:
+URxvtBG.termName: rxvt-256color
+URxvtBG.perl-ext:
+URxvtBG.perl-ext-common:
-URxvtRoot.scrollBar: false
-URxvtRoot.visualBell: true
+URxvtBG.scrollBar: false
+URxvtBG.cursorUnderline: true
+URxvtBG.visualBell: true
-URxvtRoot.depth: 32
-URxvtRoot.borderLess: true
-URxvtRoot.transparent: true
-URxvtRoot.shading: 80
+URxvtBG.depth: 32
+URxvtBG.borderLess: true
+URxvtBG.transparent: true
+URxvtBG.shading: 80
! xvkbd
-xvkbd.Alt_R.width: 1
-xvkbd.Meta_R.width: 1
-xvkbd.Multi_key.width: 1
-xvkbd.Shift_R.width: 75
+xvkbd.Alt_R.width: 1
+xvkbd.Meta_R.width: 1
+xvkbd.Multi_key.width: 1
+xvkbd.Shift_R.width: 75
+++ /dev/null
-" File: todo.txt.vim
-" Description: Todo.txt filetype detection
-" Author: Leandro Freitas <freitass@gmail.com>
-" License: Vim license
-" Website: http://github.com/freitass/todo.txt-vim
-" Version: 0.4
-
-" Export Context Dictionary for unit testing {{{1
-function! s:get_SID()
- return matchstr(expand('<sfile>'), '<SNR>\d\+_')
-endfunction
-let s:SID = s:get_SID()
-delfunction s:get_SID
-
-function! todo#txt#__context__()
- return { 'sid': s:SID, 'scope': s: }
-endfunction
-
-" Functions {{{1
-function! s:remove_priority()
- :s/^(\w)\s\+//ge
-endfunction
-
-function! s:get_current_date()
- return strftime('%Y-%m-%d')
-endfunction
-
-function! todo#txt#prepend_date()
- execute 'normal! I' . s:get_current_date() . ' '
-endfunction
-
-function! todo#txt#replace_date()
- let current_line = getline('.')
- if (current_line =~ '^\(([a-zA-Z]) \)\?\d\{2,4\}-\d\{2\}-\d\{2\} ') &&
- \ exists('g:todo_existing_date') && g:todo_existing_date == 'n'
- return
- endif
- execute 's/^\(([a-zA-Z]) \)\?\(\d\{2,4\}-\d\{2\}-\d\{2\} \)\?/\1' . s:get_current_date() . ' /'
-endfunction
-
-function! todo#txt#mark_as_done()
- call s:remove_priority()
- call todo#txt#prepend_date()
- execute 'normal! Ix '
-endfunction
-
-function! todo#txt#mark_all_as_done()
- :g!/^x /:call todo#txt#mark_as_done()
-endfunction
-
-function! s:append_to_file(file, lines)
- let l:lines = []
-
- " Place existing tasks in done.txt at the beggining of the list.
- if filereadable(a:file)
- call extend(l:lines, readfile(a:file))
- endif
-
- " Append new completed tasks to the list.
- call extend(l:lines, a:lines)
-
- " Write to file.
- call writefile(l:lines, a:file)
-endfunction
-
-function! todo#txt#remove_completed()
- " Check if we can write to done.txt before proceeding.
-
- let l:target_dir = expand('%:p:h')
- let l:todo_file = expand('%:p')
- let l:done_file = substitute(substitute(l:todo_file, 'todo.txt$', 'done.txt', ''), 'Todo.txt$', 'Done.txt', '')
- if !filewritable(l:done_file) && !filewritable(l:target_dir)
- echoerr "Can't write to file 'done.txt'"
- return
- endif
-
- let l:completed = []
- :g/^x /call add(l:completed, getline(line(".")))|d
- call s:append_to_file(l:done_file, l:completed)
-endfunction
-
-function! todo#txt#sort_by_context() range
- execute a:firstline . "," . a:lastline . "sort /\\(^\\| \\)\\zs@[^[:blank:]]\\+/ r"
-endfunction
-
-function! todo#txt#sort_by_project() range
- execute a:firstline . "," . a:lastline . "sort /\\(^\\| \\)\\zs+[^[:blank:]]\\+/ r"
-endfunction
-
-function! todo#txt#sort_by_date() range
- let l:date_regex = "\\d\\{2,4\\}-\\d\\{2\\}-\\d\\{2\\}"
- execute a:firstline . "," . a:lastline . "sort /" . l:date_regex . "/ r"
- execute a:firstline . "," . a:lastline . "g!/" . l:date_regex . "/m" . a:lastline
-endfunction
-
-function! todo#txt#sort_by_due_date() range
- let l:date_regex = "due:\\d\\{2,4\\}-\\d\\{2\\}-\\d\\{2\\}"
- execute a:firstline . "," . a:lastline . "sort /" . l:date_regex . "/ r"
- execute a:firstline . "," . a:lastline . "g!/" . l:date_regex . "/m" . a:lastline
-endfunction
-
-" Increment and Decrement The Priority
-:set nf=octal,hex,alpha
-
-function! todo#txt#prioritize_increase()
- normal! 0f)h\ 1
-endfunction
-
-function! todo#txt#prioritize_decrease()
- normal! 0f)h\18
-endfunction
-
-function! todo#txt#prioritize_add(priority)
- " Need to figure out how to only do this if the first visible letter in a line is not (
- :call todo#txt#prioritize_add_action(a:priority)
-endfunction
-
-function! todo#txt#prioritize_add_action(priority)
- execute 's/^\(([a-zA-Z]) \)\?/(' . a:priority . ') /'
-endfunction
-
-" Modeline {{{1
-" vim: ts=8 sw=4 sts=4 et foldenable foldmethod=marker foldcolumn=1
+++ /dev/null
-'g:todo_existing_date' todo.txt /*'g:todo_existing_date'*
-'g:todo_load_python' todo.txt /*'g:todo_load_python'*
-todo-commands todo.txt /*todo-commands*
-todo-commands-date todo.txt /*todo-commands-date*
-todo-commands-done todo.txt /*todo-commands-done*
-todo-commands-priority todo.txt /*todo-commands-priority*
-todo-commands-sorting todo.txt /*todo-commands-sorting*
-todo-contents todo.txt /*todo-contents*
-todo-options todo.txt /*todo-options*
-todo.txt todo.txt /*todo.txt*
+++ /dev/null
-*todo.txt* Vim plugin for Todo.txt files
- _____ _ _ _ ~
- |_ _|__ __| | ___ | |___ _| |_ ~
- | |/ _ \ / _` |/ _ \| __\ \/ / __|~
- | | (_) | (_| | (_) | |_ > <| |_ ~
- |_|\___/ \__,_|\___(_)__/_/\_\\__|~
-
- Reference Manual~
-
-==============================================================================
-CONTENTS *todo-contents*
-
- 1. Commands ..................................... |todo-commands|
- 1.1. Sorting tasks ............................ |todo-commands-sorting|
- 1.2. Edit priority ............................ |todo-commands-priority|
- 1.3. Date ..................................... |todo-commands-date|
- 1.4. Mark as done ............................. |todo-commands-done|
- 2. Options ...................................... |todo-options|
-
-==============================================================================
-1. Commands *todo-commands*
-
-1.1 Sorting tasks: *todo-commands-sorting*
- `<localleader>s` Sort the file
- `<localleader>s+` Sort the file on +Projects
- `<localleader>s@` Sort the file on @Contexts
- `<localleader>sd` Sort the file on dates
- `<localleader>sdd` Sort the file on due dates (i.e. due:2015-10-25)
-
-1.2 Edit priority: *todo-commands-priority*
- `<localleader>j` Decrease the priority of the current line
- `<localleader>k` Increase the priority of the current line
- `<localleader>a` Add the priority (A) to the current line
- `<localleader>b` Add the priority (B) to the current line
- `<localleader>c` Add the priority (C) to the current line
-
-1.3 Date: *todo-commands-date*
- `<localleader>d` Set current task's creation date to the current date
- `date<tab>` (Insert mode) Insert the current date
-
-1.4 Mark as done: *todo-commands-done*
- `<localleader>x` Mark current task as done
- `<localleader>X` Mark all tasks as done
- `<localleader>D` Move completed tasks to done.txt
-
-See :h <localleader> for more information about the commands' prefix.
-
-==============================================================================
-2. Options *todo-options*
-
- *'g:todo_existing_date'*
-Specify the behavior of date insertion functions when the task already has a
-date of creation: >
- let g:todo_existing_date = 'n'
-<
- r - replace existing date (default)
- n - do nothing
-
- *'g:todo_load_python'*
-Specify if the plugin should load the python module. Useful if you use Neovim
-for example or if perhaps you just don't have/want python for vim: >
- let g:todo_load_python = 1
-<
- 1 - Load (default)
- 0 - Don't load
-
-===============================================================================
-vim:ft=help:et:ts=2:sw=2:sts=2:norl
+++ /dev/null
-" File: todo.txt.vim
-" Description: Todo.txt filetype detection
-" Author: Leandro Freitas <freitass@gmail.com>
-" License: Vim license
-" Website: http://github.com/freitass/todo.txt-vim
-" Version: 0.1
-
-autocmd BufNewFile,BufRead [Tt]odo.txt set filetype=todo
-autocmd BufNewFile,BufRead *.[Tt]odo.txt set filetype=todo
-autocmd BufNewFile,BufRead [Dd]one.txt set filetype=todo
-autocmd BufNewFile,BufRead *.[Dd]one.txt set filetype=todo
-
+++ /dev/null
-" File: todo.txt.vim
-" Description: Todo.txt filetype detection
-" Author: Leandro Freitas <freitass@gmail.com>
-" License: Vim license
-" Website: http://github.com/freitass/todo.txt-vim
-" Version: 0.4
-
-" Save context {{{1
-let s:save_cpo = &cpo
-set cpo&vim
-
-" General options {{{1
-" Some options lose their values when window changes. They will be set every
-" time this script is invocated, which is whenever a file of this type is
-" created or edited.
-setlocal textwidth=0
-setlocal wrapmargin=0
-
-" Mappings {{{1
-" Sort tasks {{{2
-nnoremap <script> <silent> <buffer> <localleader>s :%sort<CR>
-vnoremap <script> <silent> <buffer> <localleader>s :sort<CR>
-nnoremap <script> <silent> <buffer> <localleader>s@ :%call todo#txt#sort_by_context()<CR>
-vnoremap <script> <silent> <buffer> <localleader>s@ :call todo#txt#sort_by_context()<CR>
-nnoremap <script> <silent> <buffer> <localleader>s+ :%call todo#txt#sort_by_project()<CR>
-vnoremap <script> <silent> <buffer> <localleader>s+ :call todo#txt#sort_by_project()<CR>
-nnoremap <script> <silent> <buffer> <localleader>sd :%call todo#txt#sort_by_date()<CR>
-vnoremap <script> <silent> <buffer> <localleader>sd :call todo#txt#sort_by_date()<CR>
-nnoremap <script> <silent> <buffer> <localleader>sdd :%call todo#txt#sort_by_due_date()<CR>
-vnoremap <script> <silent> <buffer> <localleader>sdd :call todo#txt#sort_by_due_date()<CR>
-
-" Change priority {{{2
-nnoremap <script> <silent> <buffer> <localleader>j :call todo#txt#prioritize_increase()<CR>
-vnoremap <script> <silent> <buffer> <localleader>j :call todo#txt#prioritize_increase()<CR>
-nnoremap <script> <silent> <buffer> <localleader>k :call todo#txt#prioritize_decrease()<CR>
-vnoremap <script> <silent> <buffer> <localleader>k :call todo#txt#prioritize_decrease()<CR>
-nnoremap <script> <silent> <buffer> <localleader>a :call todo#txt#prioritize_add('A')<CR>
-vnoremap <script> <silent> <buffer> <localleader>a :call todo#txt#prioritize_add('A')<CR>
-nnoremap <script> <silent> <buffer> <localleader>b :call todo#txt#prioritize_add('B')<CR>
-vnoremap <script> <silent> <buffer> <localleader>b :call todo#txt#prioritize_add('B')<CR>
-nnoremap <script> <silent> <buffer> <localleader>c :call todo#txt#prioritize_add('C')<CR>
-vnoremap <script> <silent> <buffer> <localleader>c :call todo#txt#prioritize_add('C')<CR>
-
-" Insert date {{{2
-inoremap <script> <silent> <buffer> date<Tab> <C-R>=strftime("%Y-%m-%d")<CR>
-nnoremap <script> <silent> <buffer> <localleader>d :call todo#txt#replace_date()<CR>
-vnoremap <script> <silent> <buffer> <localleader>d :call todo#txt#replace_date()<CR>
-
-" Mark done {{{2
-nnoremap <script> <silent> <buffer> <localleader>x :call todo#txt#mark_as_done()<CR>
-vnoremap <script> <silent> <buffer> <localleader>x :call todo#txt#mark_as_done()<CR>
-
-" Mark all done {{{2
-nnoremap <script> <silent> <buffer> <localleader>X :call todo#txt#mark_all_as_done()<CR>
-
-" Remove completed {{{2
-nnoremap <script> <silent> <buffer> <localleader>D :call todo#txt#remove_completed()<CR>
-
-" Folding {{{1
-" Options {{{2
-setlocal foldmethod=expr
-setlocal foldexpr=s:todo_fold_level(v:lnum)
-setlocal foldtext=s:todo_fold_text()
-
-" s:todo_fold_level(lnum) {{{2
-function! s:todo_fold_level(lnum)
- " The match function returns the index of the matching pattern or -1 if
- " the pattern doesn't match. In this case, we always try to match a
- " completed task from the beginning of the line so that the matching
- " function will always return -1 if the pattern doesn't match or 0 if the
- " pattern matches. Incrementing by one the value returned by the matching
- " function we will return 1 for the completed tasks (they will be at the
- " first folding level) while for the other lines 0 will be returned,
- " indicating that they do not fold.
- return match(getline(a:lnum),'^[xX]\s.\+$') + 1
-endfunction
-
-" s:todo_fold_text() {{{2
-function! s:todo_fold_text()
- " The text displayed at the fold is formatted as '+- N Completed tasks'
- " where N is the number of lines folded.
- return '+' . v:folddashes . ' '
- \ . (v:foldend - v:foldstart + 1)
- \ . ' Completed tasks '
-endfunction
-
-" Restore context {{{1
-let &cpo = s:save_cpo
-" Modeline {{{1
-" vim: ts=8 sw=4 sts=4 et foldenable foldmethod=marker foldcolumn=1
--- /dev/null
+Subproject commit 89f43af18692d22ed999c3097e449f12fdd8b299
--- /dev/null
+Subproject commit 070ee903245999b2b79f7386631ffd29ce9b8e9f
--- /dev/null
+Subproject commit a418667791f03694065948342f2d6c5cca8d0f32
--- /dev/null
+Subproject commit e49d6c2459e0f5569ff2d533b4df995dd7f98313
--- /dev/null
+Subproject commit 6845221d45bd62e604c2024bc511a56e79d1118b
+++ /dev/null
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-# File: __init__.py
-# Author: Guilherme Victal <guilherme at victal.eti.br>
-# Description: Dateregex library entry point
-# License: Vim license
-# Website: http://github.com/freitass/todo.txt-vim
-# Version: 0.1
-
-from dateregex.after import regex_date_after
-from dateregex.before import regex_date_before
+++ /dev/null
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-# File: after.py
-# Author: Guilherme Victal <guilherme at victal.eti.br>
-# Description: Generates regexes after a certain date
-# License: Vim license
-# Website: http://github.com/freitass/todo.txt-vim
-# Version: 0.1
-
-from datetime import date, timedelta, MAXYEAR
-
-
-def _year_regex_after(year):
- if int(year) > MAXYEAR:
- return None
-
- year_regex = r'(\d+\d{%s}' % len(year)
- for idx, digit in enumerate(year):
- if digit != '9':
- regex = '|' + year[0:idx]
- regex += '9' if digit == '8' else '[%s-9]' % str(int(digit) + 1)
- if idx < len(year) - 1:
- regex += '\d{%s}' % (len(year) - (idx + 1))
- year_regex += regex
-
- year_regex += ')'
- return '-'.join((year_regex, r'\d{2}', r'\d{2}'))
-
-
-def _month_regex_after(year, month):
- if month == '12':
- return None
-
- digit1, digit2 = month
- if digit1 == '1':
- month_regex = r'12' if month == '11' else r'1[12]'
- else:
- month_regex = r'1[0-2]'
- if digit2 != '9':
- if digit2 == '8':
- month_regex = r'(' + month_regex + r'|09)'
- else:
- month_regex = r'(' + month_regex + r'|0[%s-9])'
- month_regex = month_regex % str(int(digit2) + 1)
- return '-'.join((year, month_regex, r'\d{2}'))
-
-def _day_regex_after(year, month, day):
- last_month_day = str((date(int(year), (int(month) + 1) % 12, 1) + - date.resolution).day)
- if day == last_month_day:
- return None
- day_regex = r'('
- digit1, digit2 = day
- last_digit1, last_digit2 = last_month_day
- if digit1 == last_digit1:
- day_regex = last_month_day if int(digit2) == int(last_digit2) - 1 else last_digit1 + r'[%s-%s]' % (str(int(digit2) + 1), last_digit2)
- else:
- day_regex = r'('
- day_regex += last_digit1 if int(digit1) == int(last_digit1) - 1 else r'[%s-%s]' % (str(int(digit1) + 1), last_digit1)
- day_regex +=r'\d'
- if digit2 < '9':
- day_regex += '|' + digit1
- day_regex += '9' if digit2 == '8' else r'[%s-9]' % str(int(digit2) + 1)
-
- day_regex += ')'
- return '-'.join((year, month, day_regex))
-
-
-def regex_date_after(given_date):
- year, month, day = given_date.isoformat().split('-')
-
- year_regex = _year_regex_after(year)
- month_regex = _month_regex_after(year, month)
- day_regex = _day_regex_after(year, month, day)
-
- date_regex = '(' + year_regex if year_regex else '('
- date_regex += ('|' + month_regex) if month_regex else ''
- date_regex += ('|' + day_regex) if day_regex else ''
- date_regex += ')'
- return date_regex
-
-
-def __main():
- import re
- date_regex = regex_date_after(date(1999,12,31))
- print(date_regex)
- pattern = re.compile(date_regex)
-
-
- d = date.today() + date.resolution
- assert pattern.match(date.strftime(d, '%Y-%m-%d')) is not None
- print(date.strftime(d, '%Y-%m-%d') + ' is okay')
- d += date.resolution
-
-if __name__ == '__main__':
- __main()
+++ /dev/null
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-# File: before.py
-# Author: Guilherme Victal <guilherme at victal.eti.br>
-# Description: Generates regexes before a certain date
-# License: Vim license
-# Website: http://github.com/freitass/todo.txt-vim
-# Version: 0.1
-
-from datetime import date, timedelta, MINYEAR
-
-def _year_regex_before(year):
- if int(year) <= MINYEAR:
- return None
- year_regex = r'('
- year_regex += r'\d{1,%s}' % str(len(year) - 1) if len(year) > 1 else ''
- for idx, digit in enumerate(year):
- if digit != '0':
- regex = '|' + year[0:idx]
- regex += '0' if digit == '1' else '[0-%s]' % str(int(digit) - 1)
- if idx < len(year) - 1:
- regex += '\d{%s}' % (len(year) - (idx + 1))
- year_regex += regex
-
- year_regex += ')'
- return '-'.join((year_regex, r'\d{2}', r'\d{2}'))
-
-def _month_regex_before(year, month):
- if month == '01':
- return None
-
- digit1, digit2 = month
- if digit1 == '0':
- month_regex = '01' if month == '02' else r'0[1-%s]' % str(int(digit2) - 1)
- elif month == '10':
- month_regex = r'0\d'
- elif month == '11':
- month_regex = r'(0\d|10)'
- else:
- month_regex = r'(0\d|1[01])'
-
- return '-'.join((year, month_regex, r'\d{2}'))
-
-def _day_regex_before(year, month, day):
- if day == '01':
- return None
- last_month_day = str((date(int(year), int(month) % 12 + 1, 1) + - date.resolution).day)
- last_digit1, last_digit2 = last_month_day
-
- digit1, digit2 = day
- if digit1 == '0':
- day_regex = '01' if day == '02' else r'0[1-%s]' % str(int(digit2) - 1)
- else:
- day_regex = r'('
- day_regex += '0' if digit1 == '1' else r'[0-%s]' % str(int(digit1) - 1)
- day_regex += r'\d'
- if digit2 != '0':
- day_regex += '|'
- day_regex += digit1
- day_regex += '0' if digit2 == '1' else r'[0-%s]' % str(int(digit2) - 1)
- day_regex += ')'
-
- return '-'.join((year, month, day_regex))
-
-
-
-
-def regex_date_before(given_date):
- year, month, day = given_date.isoformat().split('-')
-
- year_regex = _year_regex_before(year)
- month_regex = _month_regex_before(year, month)
- day_regex = _day_regex_before(year, month, day)
-
- date_regex = '(' + year_regex if year_regex else '('
- date_regex += ('|' + month_regex) if month_regex else ''
- date_regex += ('|' + day_regex) if day_regex else ''
- date_regex += ')'
- return date_regex
+++ /dev/null
-#!/usr/bin/env python2
-# -*- coding: utf-8 -*-
-# File: todo.py
-# Description: Todo.txt overdue date syntax script
-# License: Vim license
-# Website: http://github.com/freitass/todo.txt-vim
-# Version: 0.1
-
-import vim
-import os
-import sys
-from datetime import date
-
-dateregex_dir = os.path.join(vim.eval('s:script_dir'), 'dateregex')
-if os.path.isdir(dateregex_dir):
- sys.path.insert(0, dateregex_dir)
-
-def add_due_date_syntax_highlight():
- try:
- from dateregex import regex_date_before
- except ImportError:
- print("dateregex module not found. Overdue dates won't be highlighted")
- return
-
- regex = regex_date_before(date.today())
- regex = r'(^|<)due:%s(>|$)' % regex
-
- vim.command("syntax match OverDueDate '\\v%s'" % regex)
- vim.command("highlight default link OverDueDate Error")
-
-add_due_date_syntax_highlight()
+++ /dev/null
-" File: todo.txt.vim
-" Description: Todo.txt syntax settings
-" Author: Leandro Freitas <freitass@gmail.com>
-" License: Vim license
-" Website: http://github.com/freitass/todo.txt-vim
-" Version: 0.3
-
-if exists("b:current_syntax")
- finish
-endif
-
-syntax match TodoDone '^[xX]\s.\+$'
-syntax match TodoPriorityA '^([aA])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityB '^([bB])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityC '^([cC])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityD '^([dD])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityE '^([eE])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityF '^([fF])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityG '^([gG])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityH '^([hH])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityI '^([iI])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityJ '^([jJ])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityK '^([kK])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityL '^([lL])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityM '^([mM])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityN '^([nN])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityO '^([oO])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityP '^([pP])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityQ '^([qQ])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityR '^([rR])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityS '^([sS])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityT '^([tT])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityU '^([uU])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityV '^([vV])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityW '^([wW])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityX '^([xX])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityY '^([yY])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-syntax match TodoPriorityZ '^([zZ])\s.\+$' contains=TodoDate,TodoProject,TodoContext,OverDueDate
-
-syntax match TodoDate '\d\{2,4\}-\d\{2\}-\d\{2\}' contains=NONE
-syntax match TodoProject '\(^\|\W\)+[^[:blank:]]\+' contains=NONE
-syntax match TodoContext '\(^\|\W\)@[^[:blank:]]\+' contains=NONE
-
-" Other priority colours might be defined by the user
-highlight default link TodoDone Comment
-highlight default link TodoPriorityA Constant
-highlight default link TodoPriorityB Statement
-highlight default link TodoPriorityC Identifier
-highlight default link TodoDate PreProc
-highlight default link TodoProject Special
-highlight default link TodoContext Special
-
-if exists('g:todo_load_python') && g:todo_load_python
- if has('python')
- let b:curdir = expand('<sfile>:p:h')
- let s:script_dir = b:curdir . "/python/"
- execute "pyfile " . s:script_dir. "todo.py"
- elseif has('python3')
- let b:curdir = expand('<sfile>:p:h')
- let s:script_dir = b:curdir . "/python/"
- execute "py3file " . s:script_dir. "todo.py"
- else
- echom "Your version of vim has no python support. Overdue dates won't be highlighted"
- endif
-endif
-
-let b:current_syntax = "todo"
xset dpms 0 0 600
# root terminal
-urxvt -name URxvtRoot -override-redirect -geometry x5+0-0 \
+urxvt -name URxvtBG -override-redirect -geometry x5+0-0 \
-e tail -f /var/log/messages &
-xdotool search --limit 1 --sync --classname URxvtRoot windowsize 100% y
+xdotool search --limit 1 --sync --classname URxvtBG windowsize -usehints 100% 6
# tray icons
#"$HOME/src/phwmon/phwmon.py" --mem --mem_percent --net --io --bg \#0000 &
-# modules
-autoload -Uz vcs_info
-zstyle ':vcs_info:*' enable git
-zstyle ':vcs_info:*' get-revision true
-zstyle ':vcs_info:git*' formats "(%F{green}%r/%b%f) %m%u%c "
-
-function precmd {
- print -Pn "\e]0;%(1j,%j,)%#${SSH_CLIENT+$USER@$HOST}:%~\a"
- vcs_info
- if ((SECONDS - _exectime >= 5)) {
- # bell if exec takes 5s
- print "\a"
- }
-}
-function preexec {
- # change Xorg title
- print -Pnf "\033]0;%s\a" "%#$1"
- # save last exec time
- _exectime=$SECONDS
-}
-
-# options
+## options
setopt autocd extendedglob
unsetopt beep
-# history
+## history
setopt appendhistory
HISTFILE=~/.histfile
HISTSIZE=100
SAVEHIST=100
-# keys
+## keys
bindkey -v
+KEYTIMEOUT=1
# xorg
bindkey "^[[7~" beginning-of-line #Home
bindkey -a "^[[7~" beginning-of-line
bindkey "^[[3~" delete-char #Del
bindkey -a "^[[3~" delete-char
# bsd vt
-bindkey "^[[H" beginning-of-line #Home
+bindkey "^[[H" beginning-of-line #Home
bindkey -a "^[[H" beginning-of-line
-bindkey "^[[F" end-of-line #End
+bindkey "^[[F" end-of-line #End
bindkey -a "^[[F" end-of-line
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
[[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-beginning-search
[[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search
-# prompt
-setopt prompt_subst
-PROMPT='%F{$VICOL}%n%f@%F{$VICOL}%m%f%(?../%F{red}$?%f)%# '
-RPROMPT='${vcs_info_msg_0_}%F{yellow}%~%f %T'
-KEYTIMEOUT=1
-
-function zle-line-init zle-keymap-select {
- VICOL="${${KEYMAP:/vicmd/red}:/(main|viins)/green}"
- zle reset-prompt
-}
-zle -N zle-line-init
-zle -N zle-keymap-select
-
-# common aliases
+## aliases
alias h="history -25"
alias j="jobs -l"
-alias la="ls -AF"
-alias lf="ls -Fdf .* [A-Z]* [^A-Z]*"
-alias ll="ls -AFlho"
-alias LL="ls -Flhodf .* [A-Z]* [^A-Z]*"
-alias pa="sudo ps -Sudax"
+alias l="ls -AF"
+alias ll="ls -lAFho"
+local p="ps -aSdxwwouser=USR -ogroup=GRP -opid,nice=N \
+ -o%cpu,%mem,tt,stat,start=START -oetime,command | ${PAGER:-more} -Se"
+alias pa="$p"
+alias spa="sudo $p"
+unset p
function s { sysctl hw.snd.default_unit${1:+=$1} }
# be paranoid
sed 's_/usr/ports/_ _' | tr -d '\n')
}
+## prompt
+setopt prompt_subst
+PROMPT='%F{$VICOL}%n%f@%F{$VICOL}%m%f%(?../%F{red}$?%f)%# '
+RPROMPT='%F{yellow}${vcs_info_msg_0_:-%~}%f %T'
+
+function zle-line-init zle-keymap-select {
+ VICOL="${${KEYMAP:/vicmd/red}:/(main|viins)/green}"
+ zle reset-prompt
+}
+zle -N zle-line-init
+zle -N zle-keymap-select
+
+autoload -Uz vcs_info
+zstyle ':vcs_info:*' enable git
+zstyle ':vcs_info:*' get-revision true
+zstyle ':vcs_info:git*' formats "%%F{green}[%b]%m%u%c%%f %S"
+zstyle ':vcs_info:git*' actionformats "%%F{red}(%a) %%F{green}[%b]%m%u%c%%f %S"
+
+function precmd {
+ print -Pn "\e]0;%(1j,%j,)%#${SSH_CLIENT+$USER@$HOST:}%~\a"
+ vcs_info
+ if ((SECONDS - _exectime >= 5)) {
+ # bell if exec takes 5s
+ print "\a"
+ }
+}
+function preexec {
+ # change Xorg title
+ print -Pnf "\e]0;%s\a" "%#${SSH_CLIENT+$USER@$HOST:}$1"
+ # save last exec time
+ _exectime=$SECONDS
+}
+
# The following lines were added by compinstall
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' expand suffix