diff options
Diffstat (limited to '.config/ranger')
| -rw-r--r-- | .config/ranger/plugins/ranger_devicons/__init__.py | 19 | ||||
| -rw-r--r-- | .config/ranger/plugins/ranger_devicons/devicons.py | 363 | ||||
| -rw-r--r-- | .config/ranger/rc.conf | 2 | 
3 files changed, 384 insertions, 0 deletions
diff --git a/.config/ranger/plugins/ranger_devicons/__init__.py b/.config/ranger/plugins/ranger_devicons/__init__.py new file mode 100644 index 0000000..aeca62b --- /dev/null +++ b/.config/ranger/plugins/ranger_devicons/__init__.py @@ -0,0 +1,19 @@ +import ranger.api +from ranger.core.linemode import LinemodeBase +from .devicons import * + +@ranger.api.register_linemode +class DevIconsLinemode(LinemodeBase): +  name = "devicons" + +  uses_metadata = False + +  def filetitle(self, file, metadata): +    return devicon(file) + ' ' + file.relative_path + +@ranger.api.register_linemode +class DevIconsLinemodeFile(LinemodeBase): +  name = "filename" + +  def filetitle(self, file, metadata): +    return devicon(file) + ' ' + file.relative_path diff --git a/.config/ranger/plugins/ranger_devicons/devicons.py b/.config/ranger/plugins/ranger_devicons/devicons.py new file mode 100644 index 0000000..bdfaa86 --- /dev/null +++ b/.config/ranger/plugins/ranger_devicons/devicons.py @@ -0,0 +1,363 @@ +#!/usr/bin/python +# coding=UTF-8 +# These glyphs, and the mapping of file extensions to glyphs +# has been copied from the vimscript code that is present in +# https://github.com/ryanoasis/vim-devicons +import re; +import os; + +# all those glyphs will show as weird squares if you don't have the correct patched font +# My advice is to use NerdFonts which can be found here: +# https://github.com/ryanoasis/nerd-fonts +file_node_extensions = { +    '7z'       : '', +    'a'        : '', +    'ai'       : '', +    'apk'      : '', +    'asm'      : '', +    'asp'      : '', +    'aup'      : '', +    'avi'      : '', +    'awk'      : '', +    'bash'     : '', +    'bat'      : '', +    'bmp'      : '', +    'bz2'      : '', +    'c'        : '', +    'c++'      : '', +    'cab'      : '', +    'cbr'      : '', +    'cbz'      : '', +    'cc'       : '', +    'class'    : '', +    'clj'      : '', +    'cljc'     : '', +    'cljs'     : '', +    'cmake'    : '', +    'coffee'   : '', +    'conf'     : '', +    'cp'       : '', +    'cpio'     : '', +    'cpp'      : '', +    'cs'       : '', +    'csh'      : '', +    'css'      : '', +    'cue'      : '', +    'cvs'      : '', +    'cxx'      : '', +    'd'        : '', +    'dart'     : '', +    'db'       : '', +    'deb'      : '', +    'diff'     : '', +    'dll'      : '', +    'doc'      : '', +    'docx'     : '', +    'dump'     : '', +    'edn'      : '', +    'eex'      : '', +    'efi'      : '', +    'ejs'      : '', +    'elf'      : '', +    'elm'      : '', +    'epub'     : '', +    'erl'      : '', +    'ex'       : '', +    'exe'      : '', +    'exs'      : '', +    'f#'       : '', +    'fifo'     : '|', +    'fish'     : '', +    'flac'     : '', +    'flv'      : '', +    'fs'       : '', +    'fsi'      : '', +    'fsscript' : '', +    'fsx'      : '', +    'gem'      : '', +    'gemspec'  : '', +    'gif'      : '', +    'go'       : '', +    'gz'       : '', +    'gzip'     : '', +    'h'        : '', +    'haml'     : '', +    'hbs'      : '', +    'hh'       : '', +    'hpp'      : '', +    'hrl'      : '', +    'hs'       : '', +    'htaccess' : '', +    'htm'      : '', +    'html'     : '', +    'htpasswd' : '', +    'hxx'      : '', +    'ico'      : '', +    'img'      : '', +    'ini'      : '', +    'iso'      : '', +    'jar'      : '', +    'java'     : '', +    'jl'       : '', +    'jpeg'     : '', +    'jpg'      : '', +    'js'       : '', +    'json'     : '', +    'jsx'      : '', +    'key'      : '', +    'ksh'      : '', +    'leex'     : '', +    'less'     : '', +    'lha'      : '', +    'lhs'      : '', +    'log'      : '', +    'lua'      : '', +    'lzh'      : '', +    'lzma'     : '', +    'm4a'      : '', +    'm4v'      : '', +    'markdown' : '', +    'md'       : '', +    'mdx'      : '', +    'mjs'      : '', +    'mkv'      : '', +    'ml'       : 'λ', +    'mli'      : 'λ', +    'mov'      : '', +    'mp3'      : '', +    'mp4'      : '', +    'mpeg'     : '', +    'mpg'      : '', +    'msi'      : '', +    'mustache' : '', +    'nix'      : '', +    'o'        : '', +    'ogg'      : '', +    'pdf'      : '', +    'php'      : '', +    'pl'       : '', +    'pm'       : '', +    'png'      : '', +    'pp'       : '', +    'ppt'      : '', +    'pptx'     : '', +    'ps1'      : '', +    'psb'      : '', +    'psd'      : '', +    'pub'      : '', +    'py'       : '', +    'pyc'      : '', +    'pyd'      : '', +    'pyo'      : '', +    'r'        : 'ﳒ', +    'rake'     : '', +    'rar'      : '', +    'rb'       : '', +    'rc'       : '', +    'rlib'     : '', +    'rmd'      : '', +    'rom'      : '', +    'rpm'      : '', +    'rproj'    : '鉶', +    'rs'       : '', +    'rss'      : '', +    'rtf'      : '', +    's'        : '', +    'sass'     : '', +    'scala'    : '', +    'scss'     : '', +    'sh'       : '', +    'slim'     : '', +    'sln'      : '', +    'so'       : '', +    'sql'      : '', +    'styl'     : '', +    'suo'      : '', +    'swift'    : '', +    't'        : '', +    'tar'      : '', +    'tex'      : 'ﭨ', +    'tgz'      : '', +    'toml'     : '', +    'ts'       : '', +    'tsx'      : '', +    'twig'     : '', +    'vim'      : '', +    'vimrc'    : '', +    'vue'      : '﵂', +    'wav'      : '', +    'webm'     : '', +    'webmanifest' : '', +    'webp'     : '', +    'xbps'     : '', +    'xcplayground' : '', +    'xhtml'    : '', +    'xls'      : '', +    'xlsx'     : '', +    'xml'      : '', +    'xul'      : '', +    'xz'       : '', +    'yaml'     : '', +    'yml'      : '', +    'zip'      : '', +    'zsh'      : '', +} + +dir_node_exact_matches = { +# English +    '.git'                             : '', +    'Desktop'                          : '', +    'Documents'                        : '', +    'Downloads'                        : '', +    'Dotfiles'                         : '', +    'Dropbox'                          : '', +    'Music'                            : '', +    'Pictures'                         : '', +    'Public'                           : '', +    'Templates'                        : '', +    'Videos'                           : '', +# Spanish +    'Escritorio'                       : '', +    'Documentos'                       : '', +    'Descargas'                        : '', +    'Música'                           : '', +    'Imágenes'                         : '', +    'Público'                          : '', +    'Plantillas'                       : '', +    'Vídeos'                           : '', +# French +    'Bureau'                           : '', +    'Documents'                        : '', +    'Images'                           : '', +    'Musique'                          : '', +    'Publique'                         : '', +    'Téléchargements'                  : '', +    'Vidéos'                           : '', +# Portuguese +    'Documentos'                       : '', +    'Imagens'                          : '', +    'Modelos'                          : '', +    'Música'                           : '', +    'Público'                          : '', +    'Vídeos'                           : '', +    'Área de trabalho'                 : '', +# Italian +    'Documenti'                        : '', +    'Immagini'                         : '', +    'Modelli'                          : '', +    'Musica'                           : '', +    'Pubblici'                         : '', +    'Scaricati'                        : '', +    'Scrivania'                        : '', +    'Video'                            : '', +# German +    'Bilder'                           : '', +    'Dokumente'                        : '', +    'Musik'                            : '', +    'Schreibtisch'                     : '', +    'Vorlagen'                         : '', +    'Öffentlich'                       : '', +# Hungarian +    'Dokumentumok'                     : '', +    'Képek'                            : '', +    'Modelli'                          : '', +    'Zene'                             : '', +    'Letöltések'                       : '', +    'Számítógép'                       : '', +    'Videók'                           : '', +} + +file_node_exact_matches = { +    '.bash_aliases'                    : '', +    '.bash_history'                    : '', +    '.bash_logout'                     : '', +    '.bash_profile'                    : '', +    '.bashprofile'                     : '', +    '.bashrc'                          : '', +    '.dmrc'                            : '', +    '.DS_Store'                        : '', +    '.fasd'                            : '', +    '.fehbg'                           : '', +    '.gitattributes'                   : '', +    '.gitconfig'                       : '', +    '.gitignore'                       : '', +    '.gitlab-ci.yml'                   : '', +    '.gvimrc'                          : '', +    '.inputrc'                         : '', +    '.jack-settings'                   : '', +    '.mime.types'                      : '', +    '.ncmpcpp'                         : '', +    '.nvidia-settings-rc'              : '', +    '.pam_environment'                 : '', +    '.profile'                         : '', +    '.recently-used'                   : '', +    '.selected_editor'                 : '', +    '.vim'                             : '', +    '.viminfo'                         : '', +    '.vimrc'                           : '', +    '.Xauthority'                      : '', +    '.Xdefaults'                       : '', +    '.xinitrc'                         : '', +    '.xinputrc'                        : '', +    '.Xresources'                      : '', +    '.zshrc'                           : '', +    '_gvimrc'                          : '', +    '_vimrc'                           : '', +    'a.out'                            : '', +    'authorized_keys'                  : '', +    'bspwmrc'                          : '', +    'cmakelists.txt'                   : '', +    'config'                           : '', +    'config.ac'                        : '', +    'config.m4'                        : '', +    'config.mk'                        : '', +    'config.ru'                        : '', +    'configure'                        : '', +    'docker-compose.yml'               : '', +    'dockerfile'                       : '', +    'Dockerfile'                       : '', +    'dropbox'                          : '', +    'exact-match-case-sensitive-1.txt' : 'X1', +    'exact-match-case-sensitive-2'     : 'X2', +    'favicon.ico'                      : '', +    'gemfile'                          : '', +    'gruntfile.coffee'                 : '', +    'gruntfile.js'                     : '', +    'gruntfile.ls'                     : '', +    'gulpfile.coffee'                  : '', +    'gulpfile.js'                      : '', +    'gulpfile.ls'                      : '', +    'ini'                              : '', +    'known_hosts'                      : '', +    'ledger'                           : '', +    'license'                          : '', +    'LICENSE'                          : '', +    'LICENSE.md'                       : '', +    'LICENSE.txt'                      : '', +    'Makefile'                         : '', +    'makefile'                         : '', +    'Makefile.ac'                      : '', +    'Makefile.in'                      : '', +    'mimeapps.list'                    : '', +    'mix.lock'                         : '', +    'node_modules'                     : '', +    'package-lock.json'                : '', +    'package.json'                     : '', +    'playlists'                        : '', +    'procfile'                         : '', +    'Rakefile'                         : '', +    'rakefile'                         : '', +    'react.jsx'                        : '', +    'README'                           : '', +    'README.markdown'                  : '', +    'README.md'                        : '', +    'README.rst'                       : '', +    'README.txt'                       : '', +    'sxhkdrc'                          : '', +    'user-dirs.dirs'                   : '', +    'webpack.config.js'                : '', +} + +def devicon(file): +  if file.is_directory: return dir_node_exact_matches.get(file.relative_path, '') +  return file_node_exact_matches.get(os.path.basename(file.relative_path), file_node_extensions.get(file.extension, '')) diff --git a/.config/ranger/rc.conf b/.config/ranger/rc.conf new file mode 100644 index 0000000..273ffd3 --- /dev/null +++ b/.config/ranger/rc.conf @@ -0,0 +1,2 @@ +set colorscheme jungle +default_linemode devicons  | 
