Ranger - Show File in Path Finder
Ranger is a VIM-inspired filemanager for the console (https://ranger.github.io/) and can easily be installed by using
brew install ranger
. When working in the terminal sometimes it is nice to open the files in the default Finder
app
or use the excellent alternative called Path Finder
. (https://cocoatech.com/#/)
To reveal your files in the Finder or Path Finder create a commands.py
in ~/.config/ranger
and paste the following
code.
from ranger.api.commands import Command
class show_files_in_path_finder(Command):
"""
:show_files_in_path_finder
Present selected files in finder
"""
def execute(self):
import subprocess
files = ",".join(['"{0}" as POSIX file'.format(file.path) for file in self.fm.thistab.get_selection()])
reveal_script = "tell application \"Path Finder\" to reveal {{{0}}}".format(files)
activate_script = "tell application \"Path Finder\" to activate"
script = "osascript -e '{0}' -e '{1}'".format(reveal_script, activate_script)
self.fm.notify(script)
subprocess.check_output(["osascript", "-e", reveal_script, "-e", activate_script])
class show_files_in_finder(Command):
"""
:show_files_in_finder
Present selected files in finder
"""
def execute(self):
import subprocess
files = ",".join(['"{0}" as POSIX file'.format(file.path) for file in self.fm.thistab.get_selection()])
reveal_script = "tell application \"Finder\" to reveal {{{0}}}".format(files)
activate_script = "tell application \"Finder\" to set frontmost to true"
script = "osascript -e '{0}' -e '{1}'".format(reveal_script, activate_script)
self.fm.notify(script)
subprocess.check_output(["osascript", "-e", reveal_script, "-e", activate_script])
Restart Ranger and now you can execute the commands :show_files_in_pathfinder or :show_files_in_finder.