git.y1.nz

lwl

Less with links.
download: http://git.y1.nz/archives/lwl.tar.gz
README | Files | Log | Refs

config.h

      1 
      2 /* constant buffer lengths... */
      3 #define MAX_SCREEN_WIDTH 3000
      4 #define MAX_SCREEN_HEIGHT 2000
      5 #define MAX_FILE_LENGTH  500000 /* in chars */
      6 #define MAX_NEWLINES  50000
      7 #define MAX_MARKUPS  50000
      8 #define MAX_INPUT_LENGTH  300
      9 
     10 /* appearance */
     11 #define LINK_COLOR  COLOR_BLUE
     12 #define SEARCH_COLOR  COLOR_GREEN
     13 
     14 /* modes */
     15 #define MODE_GROUND  ':'
     16 #define MODE_SEARCH  '/'
     17 #define MODE_FORK  '>'
     18 #define MODE_BOOKMARK  'b'
     19 
     20 /* non-printing characters */
     21 #define CR  0x0D /* enter */
     22 #define DEL  0x7F /* backspace */
     23 #define ETX  0x03 /* ^C */
     24 
     25 #define INPUT_ACTIONS  \
     26 	ACTION(EOF, ESCAPE) \
     27 	ACTION(ETX, ESCAPE) \
     28 	ACTION(DEL, TYPE_BACKSPACE) \
     29 	DEFAULT_ACTION(TYPE_CHAR)
     30 
     31 /* key bindings */
     32 #define ACTIONS  { \
     33 	START_MODE(MODE_GROUND) \
     34 		/* escapes */ \
     35 		ACTION(EOF, ESCAPE) \
     36 		ACTION('q', ESCAPE) \
     37 		ACTION(ETX, ESCAPE) \
     38 		\
     39 		/* navigation */ \
     40 		ACTION('g', SCROLL_TO(0)) \
     41 		ACTION('G', SCROLL_TO(WRAP_END)) \
     42 		ACTION('j', SCROLL_BY(1)) \
     43 		ACTION('k', SCROLL_BY(-1)) \
     44 		ACTION('d', SCROLL_BY(WRAP_H/3)) \
     45 		ACTION('u', SCROLL_BY(-WRAP_H/3)) \
     46 		ACTION(' ', SCROLL_BY(WRAP_H)) \
     47 		ACTION('n', STEP_BY(1)) \
     48 		ACTION('N', STEP_BY(-1)) \
     49 		ACTION('m', STEP_BY(8)) \
     50 		ACTION('M', STEP_BY(-8)) \
     51 		\
     52 		/* change modes */ \
     53 		ACTION(MODE_SEARCH, SET_MODE(MODE_SEARCH)) \
     54 		ACTION(MODE_FORK, SET_MODE(MODE_FORK)) \
     55 		ACTION(MODE_BOOKMARK, SET_MODE(MODE_BOOKMARK)) \
     56 		\
     57 		/* browser-specific actions */ \
     58 		ACTION(CR, FORK_COMMAND("bro \"$LINK\"")) \
     59 		ACTION('v', FORK_COMMAND("echo \"$LINK\"")) \
     60 		ACTION('z', state->message = "Navigate back (how?)") \
     61 	END_MODE \
     62 	\
     63 	START_MODE(MODE_BOOKMARK) \
     64 		ACTION(CR, FORK_COMMAND( \
     65 			"echo \"[$INPUT]($LINK)\" >> ~/w/bookmarks" \
     66 		)) \
     67 		INPUT_ACTIONS \
     68 	END_MODE \
     69 	\
     70 	START_MODE(MODE_SEARCH) \
     71 		ACTION(CR, DO_SEARCH) \
     72 		INPUT_ACTIONS \
     73 	END_MODE \
     74 	\
     75 	START_MODE(MODE_FORK) \
     76 		ACTION(CR, FORK_COMMAND(state->input)) \
     77 		INPUT_ACTIONS \
     78 	END_MODE \
     79 }

This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.