hilfer

rubygems.org/gems/hilfer

Description:

Gtk2 directory browser for SciTE with plenty of keyboard shortcuts for directory and file navigation. It understands some of the Rails directory structure. Subversion file status is highlighted with different colours.

Once upon a time there was a directory browser called jaffm (Just a File Manager). I liked the idea of an ultra simple file browser, but jaffm went extinct. So I wrote hilfer.

Features

Main UI

  • Incremental keyboard search - just start typing in the window, then use up and down arrows.

  • Editable & hideable location bar showing current directory

  • multiple selections usually do The Right Thing.

  • Can track which file is currently in front in the editor.

  • Can open new windows for other directories, but the same editor.

  • launch Gnome Terminal or Xfce Terminal or xterm in a directory

  • close scite on shutdown

Keyboard Shortcuts

  • enter - go into directory or open all selected files

  • ctrl-enter opens new window with the selected root(s)

  • backspace - go up to parent directory

  • del on main keyboard or keypad deletes a file

  • ctrl-e and F2 edits the file name

  • ctrl-d sends some debug/info commands to scite

  • ctrl-b sends the current selection to the scite

  • ctrl-c copies current selections as text

  • ctrl-v selects the files in the clipboard

  • ctrl-n opens new window with same root

  • ctrl-y synchronizes with current editor file

  • alt-y toggles automatic synchronization

  • ctrl-r refreshes from filesystem

  • ctrl-t opens a terminal window on the given directorties.

  • alt-l toggles the location bar

  • alt-q toggles whether scite shutdown is automatic or not

  • ctrl-* on keypad means expand the entire tree

  • ‘*’ on keypad expands subtrees

  • shift-/ on keypad means collapse the entire tree

  • ctrl-left means go to parent

  • ctrl-right means go to last used path, or first child

  • ctrl-up means go to previous sibling with children

  • ctrl-down means go to next sibling with children

  • shift-left means select parent

  • shift-right means select children

  • left means close level(s)

  • right means open level(s)

Standard shortcuts

  • Shift-Ctrl-T: go to test/spec

  • Shift-Ctrl-B: go to lib

Rails shortcuts

  • Shift-Ctrl-V: go to view, or view dir

  • Shift-Ctrl-C: go to controller, or controller dir

  • Shift-Ctrl-M: go to model, or model dir

  • Shift-Ctrl-H: go to helpers dir

  • Shift-Ctrl-L: go to layouts dir

  • Shift-Ctrl-I: go to migrations

  • Shift-Ctrl-S: go to stylesheets

  • Shift-Ctrl-F: go to fixtures

  • Shift-Ctrl-O: go to config

  • Shift-Ctrl-U: go to routes.rb

SciTE director commands

Use ssc to send commands directly to the instance of scite that was opened by hilfer. For example:

  • to find the string ‘pipe’ in the current editor window:

    ssc find:pipe
    
  • to send a F4 traversable list of file search results to scite’s output window

    find . -name *widge*.rb -exec grep open -Hn | ssc
    

Subversion colour highlighting

Svn::Wc::STATUS_NONE => ‘#000’, # black Svn::Wc::STATUS_NORMAL => ‘#000’, # black Svn::Wc::STATUS_ADDED => ‘#080’, # green Svn::Wc::STATUS_MISSING => ‘#f00’, # red Svn::Wc::STATUS_INCOMPLETE => ‘#f00’, # red Svn::Wc::STATUS_DELETED => ‘#000’, # black Svn::Wc::STATUS_REPLACED => ‘#000’, # black Svn::Wc::STATUS_MODIFIED => ‘#008’, # dark blue Svn::Wc::STATUS_MERGED => ‘#000’, # black Svn::Wc::STATUS_CONFLICTED => ‘#f00’, # red Svn::Wc::STATUS_OBSTRUCTED => ‘#f00’, # red Svn::Wc::STATUS_IGNORED => ‘#880’, # brown Svn::Wc::STATUS_EXTERNAL => ‘#000’, # black Svn::Wc::STATUS_UNVERSIONED => ‘#808’, # purple

PROBLEMS

These may or may not be problems, as you like. No drag-and-drop. No icon themes. Can’t create new files. Only opens files in SciTE.

ssc will send command to the last version of hilfer that had focus.

See TODO file

SYNOPSIS

Usage: hilfer [options] -y, –auto-sync track editor current file changes -s, –show-hidden Show hidden files -D, -d, -v, –debug Debug output -q, –quit-editor close editor on shutdown -h, -?, –help Show this help

REQUIREMENTS:

  • ruby-gtk2

Optional packages

  • text-format for ssc to display extended scite director commands

  • subversion-ruby to display colour highlighted subversion status

  • gnome-terminal or Xfce Terminal executable

  • ActiveSupport to enable rails-specific shortcuts

INSTALL:

sudo gem install

LICENSE:

(The MIT License)

Copyright © John Anderson 2006 - 2011

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.