# HG changeset patch # User Steve Losh # Date 1389826480 18000 # Node ID 3a708b3e87ac06abfb3838f3d129311d78788841 # Parent 791da81abb65beece3b2500e6e5992db80c76a85# Parent dca331c6bf8f04799be5049eaf3a6faf34d38357 Merge. diff -r 791da81abb65 -r 3a708b3e87ac bin/sort-scala-imports --- a/bin/sort-scala-imports Wed Jan 15 17:54:29 2014 -0500 +++ b/bin/sort-scala-imports Wed Jan 15 17:54:40 2014 -0500 @@ -18,42 +18,78 @@ class ImportGroup(object): def __init__(self, line): self.main_line = line.rstrip() + self.prefix = None self.guts = [] + def set_line(self): + """Set the main_line and guts for the given prefix and guts. + + If the import will fit into 100 chars, the short group syntax will be + used. Otherwise the longer one will be used. + + """ + prefix = self.prefix + guts = self.guts + + if not prefix: + # This is just a single-line, single-item import, so we don't need + # to do any setup. + return + + single = '%s{%s%s%s}' % (prefix, + bracket_padding, + ', '.join(guts), + bracket_padding) + if len(single) > 100: + self.main_line = prefix + '{' + self.guts = guts + self.guts.sort(key=lambda s: s.lower()) + else: + self.main_line = single + self.guts = [] + def slurp(self): global l, bracket_padding + line = self.main_line if self.main_line.endswith('}'): # This is a line like: import foo.{ a, b, c } if bracket_padding is None: - if self.main_line[self.main_line.index("{") + 1] == " ": + if line[line.index("{") + 1] == " ": bracket_padding = " " else: bracket_padding = "" - prefix, rest = self.main_line.split('{', 1) + prefix, rest = line.split('{', 1) guts = [item.strip() for item in re.split(", +| +|,", rest.strip('{}, '))] - guts.sort(key=lambda s: s.lower()) + + self.prefix = prefix + self.guts = guts - self.main_line = '%s{%s%s%s}' % (prefix, - bracket_padding, - ', '.join(guts), - bracket_padding) l = next_line() - elif self.main_line.endswith('{'): + elif line.endswith('{'): + # This is the first line of a multi-line set + prefix = line.rstrip('{') + guts = [] while True: l = next_line() if l.rstrip().endswith('}'): l = next_line() break else: - self.guts.append(l.strip().rstrip(',')) + guts.append(l.strip().rstrip(',')) + + self.prefix = prefix + self.guts = guts else: + # Just a normal single import line, pass it on. l = next_line() def spit(self): + self.set_line() + sys.stdout.write(self.main_line + '\n') if self.guts: @@ -71,6 +107,9 @@ ig.slurp() imports.append(ig) +if bracket_padding is None: + bracket_padding = " " + imports.sort(key=lambda ig: ig.key()) for i in imports: diff -r 791da81abb65 -r 3a708b3e87ac keymando/keymandorc.rb --- a/keymando/keymandorc.rb Wed Jan 15 17:54:29 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -# Basic ----------------------------------------------------------------------- -start_at_login - -disable "Remote Desktop Connection" -disable /VirtualBox/ - -map "", "" -# map "", lambda { reload() } - -# Application Switching ------------------------------------------------------- -map "", lambda { activate('Firefox') } -map "", lambda { activate('Pixelmator') } -map "", lambda { activate('Pixen') } -map "", lambda { activate('Rdio') } -map "", lambda { activate('Twitter') } - -map "" do - activate('iTerm') - send('') -end -map "" do - activate('iTerm') - send('') - send('') - send('2') -end -map "" do - activate('iTerm') - send('1') -end - -# Refresh --------------------------------------------------------------------- - -map "" do - activate('Firefox') - send("") - send("") -end - -# Leader ---------------------------------------------------------------------- -# map "" do -# input() -# end - -# Abbreviations --------------------------------------------------------------- - -# abbrev 'ldis' do -# send('ಠ_ಠ') -# end diff -r 791da81abb65 -r 3a708b3e87ac keyremap4macbook/private.xml --- a/keyremap4macbook/private.xml Wed Jan 15 17:54:29 2014 -0500 +++ b/keyremap4macbook/private.xml Wed Jan 15 17:54:40 2014 -0500 @@ -1115,6 +1115,67 @@ + + F-Zero + This mode makes the F key (yes, the vanilla F key) enter a separate mode when held. + It's useful to add another layer to your keyboard with a super-easy key. + + f_zero.enable + + --KeyOverlaidModifier-- KeyCode::F, KeyCode::VK_MODIFIER_EXTRA2, KeyCode::F + __KeyToKey__ KeyCode::H, ModifierFlag::EXTRA2, KeyCode::CURSOR_LEFT + __KeyToKey__ KeyCode::J, ModifierFlag::EXTRA2, KeyCode::CURSOR_DOWN + __KeyToKey__ KeyCode::K, ModifierFlag::EXTRA2, KeyCode::CURSOR_UP + __KeyToKey__ KeyCode::L, ModifierFlag::EXTRA2, KeyCode::CURSOR_RIGHT + + __KeyToKey__ KeyCode::A, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::A + __KeyToKey__ KeyCode::B, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::B + __KeyToKey__ KeyCode::C, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::C + + __KeyToKey__ KeyCode::E, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::E + __KeyToKey__ KeyCode::F, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::F + __KeyToKey__ KeyCode::G, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::G + + __KeyToKey__ KeyCode::I, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::I + + + + __KeyToKey__ KeyCode::M, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::M + __KeyToKey__ KeyCode::N, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::N + __KeyToKey__ KeyCode::O, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::O + __KeyToKey__ KeyCode::P, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::P + __KeyToKey__ KeyCode::Q, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::Q + __KeyToKey__ KeyCode::R, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::R + __KeyToKey__ KeyCode::S, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::S + __KeyToKey__ KeyCode::T, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::T + __KeyToKey__ KeyCode::U, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::U + __KeyToKey__ KeyCode::V, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::V + __KeyToKey__ KeyCode::W, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::W + __KeyToKey__ KeyCode::X, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::X + __KeyToKey__ KeyCode::Y, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::Y + __KeyToKey__ KeyCode::Z, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::Z + + __KeyToKey__ KeyCode::SPACE, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::SPACE + __KeyToKey__ KeyCode::DELETE, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::DELETE + __KeyToKey__ KeyCode::RETURN, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::RETURN + __KeyToKey__ KeyCode::TAB, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::TAB + __KeyToKey__ KeyCode::BACKSLASH, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::BACKSLASH + __KeyToKey__ KeyCode::COMMA, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::COMMA + __KeyToKey__ KeyCode::DOT, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::DOT + __KeyToKey__ KeyCode::SEMICOLON, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::SEMICOLON + __KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::BRACKET_LEFT + __KeyToKey__ KeyCode::BRACKET_RIGHT, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::BRACKET_RIGHT + __KeyToKey__ KeyCode::QUOTE, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::QUOTE + __KeyToKey__ KeyCode::SHIFT_R, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::KEY_0, ModifierFlag::SHIFT_L + __KeyToKey__ KeyCode::SHIFT_L, ModifierFlag::EXTRA2, KeyCode::F, KeyCode::KEY_9, ModifierFlag::SHIFT_L + + + + + + + +