summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-08-26 15:40:46 +0200
committerhut <hut@lavabit.com>2010-08-26 15:40:46 +0200
commitf20fc829c48b2ac4076e388a320fd82580356658 (patch)
treee07b112c5fc1d84ca460425d836b2a00175e1a3d
parentc525589d6c6a7fd00be099d2e399f08113f4a33f (diff)
downloadranger-f20fc829c48b2ac4076e388a320fd82580356658.tar.gz
Updated documentation for the console
-rw-r--r--ranger/defaults/commands.py11
-rw-r--r--ranger/help/console.py188
2 files changed, 61 insertions, 138 deletions
diff --git a/ranger/defaults/commands.py b/ranger/defaults/commands.py
index acfbfffb..8005100c 100644
--- a/ranger/defaults/commands.py
+++ b/ranger/defaults/commands.py
@@ -20,7 +20,7 @@ Each command is a subclass of `Command'.  Several methods are defined
 to interface with the console:
 	execute: call this method when the command is executed.
 	tab: call this method when tab is pressed.
-	quick: call this method after each keypress in the QuickCommandConsole.
+	quick: call this method after each keypress.
 
 The return values for tab() can be either:
 	None: There is no tab completion
@@ -69,9 +69,6 @@ class cd(Command):
 
 	The cd command changes the directory.
 	The command 'cd -' is equivalent to typing ``.
-
-	In the quick console, the directory will be entered without the
-	need to press enter, as soon as there is one unambiguous match.
 	"""
 
 	def execute(self):
@@ -255,10 +252,8 @@ class find(Command):
 	:find <string>
 
 	The find command will attempt to find a partial, case insensitive
-	match in the filenames of the current directory.
-
-	In the quick command console, once there is one unambiguous match,
-	the file will be run automatically.
+	match in the filenames of the current directory and execute the
+	file automatically.
 	"""
 
 	count = 0
diff --git a/ranger/help/console.py b/ranger/help/console.py
index c830abfc..bc69f7fb 100644
--- a/ranger/help/console.py
+++ b/ranger/help/console.py
@@ -13,59 +13,33 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 """
-3. Basic movement and browsing
+3. The Console
 
-3.1. Overview of all the Console Modes
+3.1. General Information
 3.2. List of Commands
-3.3. The (Quick) Command Console
-3.4. The Open Console
-3.5. The Quick Open Console
-
+3.3. Macros
+3.4. The more complicated Commands in Detail
 
 ==============================================================================
-3.1. Overview of all the Console Modes:
-
-There are, as of now, five different types of consoles:
-
-3.1.1. The Command Console, opened by pressing ":"
-      Usable for entering commands like you know it from vim.
-      Use the tab key to cycle through all available commands
-      and press F1 to view the docstring of the current command.
-
-3.1.2. The Quick Command Console, opened with ">"
-      Works just like 3.1.1, but it saves you pressing <RETURN> by checking
-      whether the current input can be executed in a meaningful way
-      and doing so automatically.  (works with commands like cd, find.)
-
-3.1.3. The Search Console, opened with "/"
-      Very much like the console you get in vim after pressing "/".
-      The current directory will be searched for files whose names
-      match the given regular expression.
+3.1. General Information
 
-3.1.4. The Open Console, activated with "!"
-      Similar to ":!..." in vim.  The given command will be executed,
-      "%s" will be replaced with all the files in the selection,
-      "%f" is replaced with only the current highlighted file.
-      There are further options to tweak how the command is executed.
+The console is opened by pressing ":".  Press <TAB> to cycle through all
+available commands and press <F1> to view help about the current command.
 
-3.1.5. The Quick Open Console, opened by pressing "r"
-      Rather than having to enter the full command, this console gives
-      you a higher level interface to running files.
-      You can define the application, the mode and the flags separated
-      with spaces.
+All commands are defined in the file ranger/defaults/commands.py, which
+also contains a detailed specification.
 
 
 ==============================================================================
 3.2. List of Commands
 
-This is a list of the few commands which are implemented by default.
-All commands except for ":delete" can be abbreviated to the shortest
+All commands except for ":delete" can be abbreviated with the shortest
 unambiguous name, e.g. ":chmod" can be written as ":ch" but not as ":c" since
 it conflicts with ":cd".
 
 
 :cd <dirname>
-      Changes the directory to <dirname> *
+      Changes the directory to <dirname>
 
 :chmod <octal_number>
       Sets the permissions of the selection to the octal number.
@@ -86,10 +60,9 @@ it conflicts with ":cd".
 :filter <string>
       Displays only files which contain <string> in their basename.
 
-:find <string>
-      Look for a partial, case insensitive match in the filenames
-      of the current directory and execute it if there is only
-      one match. *
+:find <regexp>
+      Quickly find files that match the regexp and execute the first
+	  unambiguous match.
 
 :grep <string>
       Looks for a string in all marked files or directory.
@@ -104,65 +77,34 @@ it conflicts with ":cd".
 :mkdir <dirname>
       Creates a directory with the name <dirname>
 
+:open_with [<program>] [<flags>] [<mode>]
+      Open the current file with the program, flags and mode. |24?| |25?|
+      All arguments are optional.  If none is given, its equivalent to
+      pressing <Enter>
+
 :quit
       Exits ranger
 
 :rename <newname>
       Changes the name of the currently highlighted file to <newname>
 
+:search <regexp>
+      Search for a regexp in all file names, like the / key in vim.
+
+:shell [-<flags>] <command>
+      Run the command, optionally with some flags.  |25?|
+      Example: shell -d firefox -safe-mode %s
+      opens (detached from ranger) the selection in firefox' safe-mode
+
 :terminal
       Spawns "x-terminal-emulator" starting in the current directory.
 
 :touch <filename>
       Creates a file with the name <filename>
 
-* implements handler for the Quick Command Console.
-
-
-==============================================================================
-3.3. The (Quick) Command Console
-
-Open these consoles by pressing ":" or ">"
-
-The Command Console and the "Quick" Command Console are mostly identical
-since they share the commands.  As explained in 3.1.2, the point in using
-the Quick Command Console is that the command is executed without the
-need to press <RETURN> as soon as ranger thinks you want it executed.
-
-Take the "find" command, for example.  It will attempt to find a file
-or directory which matches the given input, and if there is one unambiguous
-match, that file will be executed or that directory will be entered.
-If you use the "find" command in the quick console, as soon as there is
-one unambiguous match, <RETURN> will be pressed for you, giving you a
-very fast way to browse your files.
-
-
-All commands are defined in ranger/defaults/commands.py.  You can refer to this
-file for a list of commands.  Implementing new commands should be intuitive:
-Create a new class, a subclass of Command, and define the execute method
-is usually enough.  For parsing command input, the command parser in
-ranger/ext/command_parser.py is used.  The tab method should return None,
-a string or an iterable sequence containing the strings which should be
-cycled through by pressing tab.
-
-Only those commands which implement the quick() method will be specially
-treated by the Quick Command Console.  For the rest, both consoles are equal.
-quick() is called after each key press and if it returns True, the
-command will be executed immediately.
-
-
-Pressing F1 inside the console displays the docstring of the current command
-in the pager if docstrings are available (i.e.  unless python is run with
-the flag "-OO" which removes all docstrings.)
-
 
 ==============================================================================
-3.4. The Open Console
-
-Open this console by pressing "!" or "s"
-
-The Open Console allows you to execute shell commands:
-!vim *         will run vim and open all files in the directory.
+3.3. Macros
 
 Like in similar filemanagers there are some macros.  Use them in
 commands and they will be replaced with a list of files.
@@ -184,56 +126,42 @@ between. Examples:
 are in different directories:
 
 	Yank the file A (type yy), move to the file B and use:
-	!p!diff %c %f
-
-There is a special syntax for more control:
-
-!d! mplayer    will run mplayer with flags (d means detached)
-!@ mplayer     will open the selected files with mplayer
-	       (equivalent to !mplayer %s)
-
-Those two can be combined:
-
-!d!@mplayer    will open the selection with a detached mplayer
-	       (again, this is equivalent to !d!mplayer %s)
-
-These keys open the console with a predefined text:
-	@	"!@"	Suffixes %s.  Good for things like "@mount"
-	#	"!p!"	Pipes output through a pager.  For commands with output.
-			Note: A plain "!p!" will be translated to "!p!cat %f"
-
-For a list of other flags than "d", check chapter 2.5 of the documentation
+	:shell -p diff %c %f
 
 
 ==============================================================================
-3.5. The Quick Open Console
-
-Open this console by pressing "r"
-
-The Quick Open Console allows you to open files with predefined programs
-and modes very quickly.  By adding flags to the command, you can specify
-precisely how the program is run, e.g. the d-flag will run it detached
-from the file manager.
-
-For a list of other flags than "d", check chapter 2.5 of the documentation
-
-The syntax is "open with: <application> <mode> <flags>".
-The parsing of the arguments is very flexible.  You can leave out one or
-more arguments (or even all of them) and it will fall back to default
-values.  You can switch the order as well.
-There is just one rule:
-
-If you supply the <application>, it has to be the first argument.
+3.4. The more complicated Commands in Detail
+
+3.3.1. "find"
+The find command is different than others: it doesn't require you to
+press <RETURN>.  To speed things up, it tries to guess when you're
+done typing and executes the command right away.
+The key "f" opens the console with ":find "
+
+3.3.2. "shell"
+The shell command accepts flags |25?| as the first argument if it starts
+with a "-". Example: ":shell -p cat somefile.txt" will use the "p"-flag,
+which pipes the output to the pager.
+There are some keys which open the console with the shell command:
+	"!" opens ":shell "
+	"@" opens ":shell  %s"
+	"#" opens ":shell -p "
+
+3.3.3. "open_with"
+The open_with command opens the current file with the specified program,
+mode |24?| and flags |25?|. 
+The programs and the meaning of modes can be defined in the apps.py,
+giving you a high level interface for running files.
+Pressing "r" will open the console with ":open_with "
 
 Examples:
 
-open with: mplayer D     open the selection in mplayer, but not detached
-open with: 1             open it with the default handler in mode 1
-open with: d             open it detached with the default handler
-open with: p             open it as usual, but pipe the output to "less"
-open with: totem 1 Ds    open in totem in mode 1, will not detach the
-			 process (flag D) but discard the output (flag s)
-
+:open_with mplayer D     open the selection in mplayer, but not detached
+:open_with 1             open it with the default handler in mode 1
+:open_with d             open it detached with the default handler
+:open_with p             open it as usual, but pipe the output to "less"
+:open_with totem 1 Ds    open in totem in mode 1, will not detach the
+                         process (flag D) but discard the output (flag s)
 
 ==============================================================================
 """
ti/profani-tty/commit/tests/test_roster_list.c?id=db973457d0b3548f767f9849ce8ca7816dcbd36e'>db973457 ^
e816b124 ^
6bad38c2 ^
768b2aa4 ^

6bad38c2 ^
0b3a9f57 ^

055a5f71 ^
78bd151c ^

0b3a9f57 ^
7a9d127a ^
055a5f71 ^
db973457 ^


e816b124 ^
6bad38c2 ^
0b3a9f57 ^
055a5f71 ^
7a9d127a ^

0b3a9f57 ^
7a9d127a ^
055a5f71 ^
db973457 ^


e816b124 ^
a336148c ^


6bad38c2 ^
0b3a9f57 ^


055a5f71 ^
7a9d127a ^

0b3a9f57 ^
7a9d127a ^
055a5f71 ^
db973457 ^



e816b124 ^
768b2aa4 ^


6bad38c2 ^
0b3a9f57 ^



055a5f71 ^
7a9d127a ^

0b3a9f57 ^
7a9d127a ^
055a5f71 ^
db973457 ^



e816b124 ^
768b2aa4 ^


6bad38c2 ^
0b3a9f57 ^



055a5f71 ^
7a9d127a ^

0b3a9f57 ^
7a9d127a ^
055a5f71 ^
db973457 ^



e816b124 ^
768b2aa4 ^


6bad38c2 ^
0b3a9f57 ^



055a5f71 ^
cfc23078 ^
7a9d127a ^
0b3a9f57 ^
f23f768d ^
055a5f71 ^
db973457 ^


f23f768d ^
a720ef26 ^
dab37236 ^
e8a65e3b ^
0b3a9f57 ^
dab37236 ^

055a5f71 ^
f23f768d ^

0b3a9f57 ^
f23f768d ^
055a5f71 ^
db973457 ^


f23f768d ^
e8a65e3b ^
0b3a9f57 ^
dab37236 ^
055a5f71 ^
f23f768d ^

0b3a9f57 ^
f23f768d ^
055a5f71 ^
db973457 ^


f23f768d ^
e8a65e3b ^
0b3a9f57 ^
dab37236 ^
055a5f71 ^
f23f768d ^

0b3a9f57 ^
f23f768d ^
055a5f71 ^
db973457 ^


f23f768d ^
e8a65e3b ^
0b3a9f57 ^
055a5f71 ^
f23f768d ^

0b3a9f57 ^
f928fb36 ^
055a5f71 ^
e8a65e3b ^
0b3a9f57 ^
055a5f71 ^
f928fb36 ^

0b3a9f57 ^
f7584469 ^
055a5f71 ^
db973457 ^


f7584469 ^
e8a65e3b ^

0b3a9f57 ^
dab37236 ^

055a5f71 ^
f7584469 ^

0b3a9f57 ^
9a3a0840 ^
055a5f71 ^
db973457 ^









05f2d293 ^
e8a65e3b ^




0b3a9f57 ^
dab37236 ^




055a5f71 ^
9a3a0840 ^

0b3a9f57 ^
f7584469 ^
055a5f71 ^
db973457 ^


f7584469 ^
e8a65e3b ^
05f2d293 ^
e8a65e3b ^
0b3a9f57 ^
dab37236 ^

055a5f71 ^
c4a1d69a ^

c60060fe ^
c4a1d69a ^
055a5f71 ^
c4a1d69a ^





055a5f71 ^
c4a1d69a ^

c60060fe ^
c4a1d69a ^
055a5f71 ^
c4a1d69a ^












055a5f71 ^
c4a1d69a ^

c60060fe ^
c4a1d69a ^
055a5f71 ^
c4a1d69a ^
















055a5f71 ^
c4a1d69a ^

c60060fe ^
c4a1d69a ^
055a5f71 ^
c4a1d69a ^




















055a5f71 ^
c4a1d69a ^

c60060fe ^
c4a1d69a ^
055a5f71 ^
c4a1d69a ^


































055a5f71 ^
78bd151c ^
c60060fe ^


055a5f71 ^
c60060fe ^






















055a5f71 ^
c60060fe ^



055a5f71 ^
c60060fe ^


















055a5f71 ^
c60060fe ^



055a5f71 ^
c60060fe ^












055a5f71 ^
c60060fe ^



055a5f71 ^
c60060fe ^




















055a5f71 ^
c60060fe ^



055a5f71 ^
c60060fe ^












055a5f71 ^
c60060fe ^



055a5f71 ^
c60060fe ^


























055a5f71 ^
c60060fe ^



055a5f71 ^
c60060fe ^























055a5f71 ^
c60060fe ^



055a5f71 ^
c60060fe ^

























055a5f71 ^
c60060fe ^



055a5f71 ^
c60060fe ^

























055a5f71 ^
c60060fe ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639