diff options
author | toonn <toonn@toonn.io> | 2018-05-14 10:14:42 +0200 |
---|---|---|
committer | toonn <toonn@toonn.io> | 2018-05-14 10:14:42 +0200 |
commit | d8f83132565b15c0f3df34fa6655dbe1050d4588 (patch) | |
tree | 6d0fbd3887551a5b627edea8a59fa8a180f72544 | |
parent | 7558f328c938301f49bf0fe76df4fa2f76180bf6 (diff) | |
parent | 3c430ba0f1b3fe2e17225788866f37bcd1f85c3b (diff) | |
download | ranger-d8f83132565b15c0f3df34fa6655dbe1050d4588.tar.gz |
Merge branch 'rangerpath'
-rw-r--r-- | doc/ranger.1 | 31 | ||||
-rw-r--r-- | doc/ranger.pod | 27 | ||||
-rwxr-xr-x | ranger/config/commands.py | 3 | ||||
-rw-r--r-- | ranger/core/main.py | 1 | ||||
-rw-r--r-- | ranger/core/tab.py | 8 |
5 files changed, 49 insertions, 21 deletions
diff --git a/doc/ranger.1 b/doc/ranger.1 index 5726307e..1290cb58 100644 --- a/doc/ranger.1 +++ b/doc/ranger.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RANGER 1" -.TH RANGER 1 "ranger-1.9.1" "2018-05-08" "ranger manual" +.TH RANGER 1 "ranger-1.9.1" "2018-05-14" "ranger manual" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -145,7 +145,7 @@ ranger \- visual file manager [\fB\-\-choosedir\fR=\fItarget\fR] [\fB\-\-selectfile\fR=\fIfilepath\fR] [\fB\-\-show\-only\-dirs\fR] [\fB\-\-list\-unused\-keys\fR] [\fB\-\-list\-tagged\-files\fR=\fItag\fR] -[\fB\-\-profile\fR] [\fB\-\-cmd\fR=\fIcommand\fR] [\fIpath\fR] +[\fB\-\-profile\fR] [\fB\-\-cmd\fR=\fIcommand\fR] [\fIpath ...\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" ranger is a console file manager with \s-1VI\s0 key bindings. @@ -172,6 +172,12 @@ with other software. They are usually installed to The man page of \fIrifle\fR\|(1) describes the functions of the file opener .PP The section \fI\s-1LINKS\s0\fR of this man page contains further resources. +.SH "POSITIONAL ARGUMENTS" +.IX Header "POSITIONAL ARGUMENTS" +.IP "\fIpath ...\fR" 14 +.IX Item "path ..." +Each path will be opened in a tab and if the path is a file it will be selected. +Omitting this is equivalent to providing the current directory. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-d\fR, \fB\-\-debug\fR" 14 @@ -225,7 +231,8 @@ Allows you to pick a directory with ranger. When you exit ranger, it will write the last visited directory into \fItargetfile\fR. .IP "\fB\-\-selectfile\fR=\fItargetfile\fR" 14 .IX Item "--selectfile=targetfile" -Open ranger with \fItargetfile\fR selected. +Open ranger with \fItargetfile\fR selected. This is a legacy option, superseded by +the behavior for the \s-1POSITIONAL ARGUMENTS.\s0 .IP "\fB\-\-show\-only\-dirs\fR" 14 .IX Item "--show-only-dirs" Display only the directories. May be used in conjunction with @@ -702,7 +709,7 @@ in ranger. .IP "automatically_count_files [bool]" 4 .IX Item "automatically_count_files [bool]" Should ranger count and display the number of files in each directory -as soon as it's visible? This gets slow with remote file sytems. Turning it +as soon as it's visible? This gets slow with remote file systems. Turning it off will still allow you to see the number of files after entering the directory. .IP "autosave_bookmarks [bool]" 4 @@ -764,11 +771,11 @@ Display the file size in the main column? .IP "display_size_in_status_bar [bool]" 4 .IX Item "display_size_in_status_bar [bool]" Display the file size in the status bar? -.IP "display_tags_in_all_columns [bool]" 4 -.IX Item "display_tags_in_all_columns [bool]" -Display the free disk space in the status bar? .IP "display_free_space_in_status_bar [bool]" 4 .IX Item "display_free_space_in_status_bar [bool]" +Display the free disk space in the status bar? +.IP "display_tags_in_all_columns [bool]" 4 +.IX Item "display_tags_in_all_columns [bool]" Display tags in all columns? .IP "draw_borders [bool]" 4 .IX Item "draw_borders [bool]" @@ -992,7 +999,7 @@ ranger. For your convenience, this is a list of the \*(L"public\*(R" commands i .Vb 10 \& alias [newcommand] [oldcommand] \& bulkrename -\& cd [directory] +\& cd [path] \& chain command1[; command2[; command3...]] \& chmod octal_number \& cmap key command @@ -1068,10 +1075,10 @@ renaming according to the changes you did in the file. .Sp This shell script is opened in an editor for you to review. After you close it, it will be executed. -.IP "cd [\fIdirectory\fR]" 2 -.IX Item "cd [directory]" -The cd command changes the directory. The command \f(CW\*(C`:cd \-\*(C'\fR is equivalent to -typing ``. +.IP "cd [\fIpath\fR]" 2 +.IX Item "cd [path]" +The cd command changes the directory. If path is a file, selects that file. +The command \f(CW\*(C`:cd \-\*(C'\fR is equivalent to typing ``. .IP "chain \fIcommand1\fR[; \fIcommand2\fR[; \fIcommand3\fR...]]" 2 .IX Item "chain command1[; command2[; command3...]]" Combines multiple commands into one, separated by semicolons. diff --git a/doc/ranger.pod b/doc/ranger.pod index 6eb336f0..4cac8ef9 100644 --- a/doc/ranger.pod +++ b/doc/ranger.pod @@ -14,7 +14,7 @@ B<ranger> [B<--version>] [B<--help>] [B<--debug>] [B<--clean>] [B<--choosedir>=I<target>] [B<--selectfile>=I<filepath>] [B<--show-only-dirs>] [B<--list-unused-keys>] [B<--list-tagged-files>=I<tag>] -[B<--profile>] [B<--cmd>=I<command>] [I<path>] +[B<--profile>] [B<--cmd>=I<command>] [I<path ...>] @@ -53,6 +53,20 @@ The section I<LINKS> of this man page contains further resources. +=head1 POSITIONAL ARGUMENTS + +=over 14 + +=item I<path ...> + +Each path will be opened in a tab and if the path is a file it will be selected. +Omitting this is equivalent to providing the current directory. + +=back + + + + =head1 OPTIONS =over 14 @@ -117,7 +131,8 @@ write the last visited directory into I<targetfile>. =item B<--selectfile>=I<targetfile> -Open ranger with I<targetfile> selected. +Open ranger with I<targetfile> selected. This is a legacy option, superseded by +the behavior for the POSITIONAL ARGUMENTS. =item B<--show-only-dirs> @@ -1024,7 +1039,7 @@ ranger. For your convenience, this is a list of the "public" commands including alias [newcommand] [oldcommand] bulkrename - cd [directory] + cd [path] chain command1[; command2[; command3...]] chmod octal_number cmap key command @@ -1104,10 +1119,10 @@ renaming according to the changes you did in the file. This shell script is opened in an editor for you to review. After you close it, it will be executed. -=item cd [I<directory>] +=item cd [I<path>] -The cd command changes the directory. The command C<:cd -> is equivalent to -typing ``. +The cd command changes the directory. If path is a file, selects that file. +The command C<:cd -> is equivalent to typing ``. =item chain I<command1>[; I<command2>[; I<command3>...]] diff --git a/ranger/config/commands.py b/ranger/config/commands.py index a7fe68b4..8d444dd6 100755 --- a/ranger/config/commands.py +++ b/ranger/config/commands.py @@ -126,9 +126,10 @@ class echo(Command): class cd(Command): - """:cd [-r] <dirname> + """:cd [-r] <path> The cd command changes the directory. + If the path is a file, selects that file. The command 'cd -' is equivalent to typing ``. Using the option "-r" will get you to the real path. """ diff --git a/ranger/core/main.py b/ranger/core/main.py index e39c0501..1fc35bac 100644 --- a/ranger/core/main.py +++ b/ranger/core/main.py @@ -89,6 +89,7 @@ def main( SettingsAware.settings_set(Settings()) + # TODO: deprecate --selectfile if args.selectfile: args.selectfile = os.path.abspath(args.selectfile) args.paths.insert(0, os.path.dirname(args.selectfile)) diff --git a/ranger/core/tab.py b/ranger/core/tab.py index 1d5e69d4..7bb45d75 100644 --- a/ranger/core/tab.py +++ b/ranger/core/tab.py @@ -4,7 +4,7 @@ from __future__ import (absolute_import, division, print_function) import os -from os.path import abspath, normpath, join, expanduser, isdir +from os.path import abspath, normpath, join, expanduser, isdir, dirname import sys from ranger.container import settings @@ -123,9 +123,11 @@ class Tab(FileManagerAware, SettingsAware): # pylint: disable=too-many-instance # get the absolute path path = normpath(join(self.path, expanduser(path))) + selectfile = None if not isdir(path): - return False + selectfile = path + path = dirname(path) new_thisdir = self.fm.get_directory(path) try: @@ -155,6 +157,8 @@ class Tab(FileManagerAware, SettingsAware): # pylint: disable=too-many-instance self.thisdir.sort_directories_first = self.fm.settings.sort_directories_first self.thisdir.sort_reverse = self.fm.settings.sort_reverse self.thisdir.sort_if_outdated() + if selectfile: + self.thisdir.move_to_obj(selectfile) if previous and previous.path != path: self.thisfile = self.thisdir.pointed_obj else: |