[download]

config/ranger/plugins/devicons.py

   1 # https://github.com/alexanderjeurissen/ranger_devicons
   2 
   3 import ranger.api
   4 from ranger.core.linemode import LinemodeBase
   5 
   6 @ranger.api.register_linemode
   7 class DevIconsLinemode(LinemodeBase):
   8     name = 'devicons'
   9     uses_metadata = False
  10 
  11     def filetitle(self, file, metadata):
  12         return devicon(file) + ' ' + file.relative_path
  13 
  14 def devicon(file):
  15     dmap = {
  16         '.git'  : '',
  17     }
  18 
  19     fmap = {
  20         'gif'   : '',
  21         'ico'   : '',
  22         'jpg'   : '',
  23         'jpeg'  : '',
  24         'png'   : '',
  25         'svg'   : '',
  26 
  27         'mp3'   : '',
  28         'ogg'   : '',
  29         'wav'   : '',
  30 
  31         'avi'   : '',
  32         'mkv'   : '',
  33         'mp4'   : '',
  34         'webm'  : '',
  35 
  36         '7z'    : '',
  37         'gz'    : '',
  38         'iso'   : '',
  39         'zip'   : '',
  40 
  41         'dll'   : '',
  42         'exe'   : '',
  43 
  44         'html'  : '',
  45         'mhtml' : '',
  46         'xml'   : '',
  47 
  48         'c'     : '',
  49         'css'   : '',
  50         'h'     : '',
  51         'js'    : '',
  52         'json'  : '',
  53         'lua'   : '',
  54         'php'   : '',
  55         'py'    : '',
  56         'sh'    : '',
  57 
  58         'gvimrc': '',
  59         'vim'   : '',
  60         'vimrc' : '',
  61 
  62         'a.out' : '',
  63 
  64         'gpg'   : '',
  65         'id_rsa': '',
  66     }
  67 
  68     if file.is_directory: return dmap.get(file.relative_path, '')
  69     return fmap.get(file.relative_path, fmap.get(file.extension, ''))