Skip to content

Instantly share code, notes, and snippets.

View dasch's full-sized avatar
💭
LOOKING INTENTLY INTO THE VOID

Daniel Schierbeck dasch

💭
LOOKING INTENTLY INTO THE VOID
View GitHub Profile
@dasch
dasch / no.vim
Created September 26, 2012 12:19
" Don't allow using the arrow keys in normal mode
map <Left> :echo "no!"<CR>
map <Right> :echo "no!"<CR>
map <Up> :echo "no!"<CR>
map <Down> :echo "no!"<CR>
" Based on
runtime colors/ir_black.vim
let g:colors_name = "grb256"
hi pythonSpaceError ctermbg=red guibg=red
hi Comment ctermfg=darkgrey
hi TabLineFill ctermbg=15 ctermfg=234
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" RUNNING TESTS
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
noremap <leader>l :call RunTestFile()<cr>
noremap <leader>; :call RunNearestTest()<cr>
noremap <leader>o :call RunTests('')<cr>
function! RunTestFile(...)
if a:0
let command_suffix = a:1
# Raises a condition. If a handler is set up, it can restart the condition
# and return to this place.
#
# name - The Symbol name of the condition.
#
# Returns nothing if the condition was restarted, and doesn't return at all
# otherwise.
def condition(name)
callcc do |cont|
throw name, cont
require 'pattern'
# Returns the n'th number in the Fibonacci sequence.
def fib(n)
Pattern.match(n) do
on(0) { 0 }
on(1) { 1 }
on(Integer) { fib(n - 2) + fib(n - 1) }
end
end
def calculate_score(term)
if score can be calculated
Score.new(value)
else
NoScore
end
end
def save_score(term, score)
if score.available?
class Score
attr_reader :value
def initialize(value)
@value = value
end
def available?
true
end
class RockScore
def initialize(value)
@value = value
end
def available?
!@value.nil?
end
def value
# Incidentally, I wrote this as "RickScore" first. Perhaps an interesting
# concept? ;-)
score = RockScore.for_term("apple")
if score.available?
"Score: #{score.value}"
else
"Could not calculate score"
end
class Blog
attr_writer :post_maker
def new_post(options = {})
post_maker.new(options).tap do |p|
p.blog = self
end
end
private