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.