diff options
author | hut <hut@lavabit.com> | 2010-02-15 21:57:21 +0100 |
---|---|---|
committer | hut <hut@lavabit.com> | 2010-02-15 21:57:21 +0100 |
commit | f8f6f7f94b3c0a1da2d8abb38cf23ca127dd28a4 (patch) | |
tree | f92e9d6674057640d6ca218afc0cd3be286cf42c | |
parent | 4ea0f69aed8d4c173d9abbd0a1bd76d6afe69ccb (diff) | |
download | ranger-f8f6f7f94b3c0a1da2d8abb38cf23ca127dd28a4.tar.gz |
added guidelines on code modification
-rw-r--r-- | HACKING | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/HACKING b/HACKING new file mode 100644 index 00000000..84fb7539 --- /dev/null +++ b/HACKING @@ -0,0 +1,84 @@ +Guidelines on Code Modification +=============================== + +Coding Style +------------ + +* Use syntax compatible to both python 2.6 and 3.1. +* Use docstrings with pydoc in mind +* Follow the style guide for python code: + http://www.python.org/dev/peps/pep-0008/ +* Although this guide suggests otherwise, tabs are used for indentation + of code and docstrings. In other documents (readme, etc), use spaces. + + +Patches +------- + +Send patches, created with "git format-patch", to the email adress + + hut@lavabit.com + +If you plan to do major changes, or many changes over time, I encourage +you to create a fork on GitHub or Gitorious. + + +Common Changes +-------------- + +* Change which files are previewed in the auto preview: +In ranger/gui/widget/browsercolumn.py +the constant PREVIEW_BLACKLIST + +* Adding options: +In ranger/defaults/options.py +add the default value, like: my_option = True +In ranger/shared/settings.py +add the name of your option to the constant ALLOWED_SETTINGS + +The setting is now accessible at self.settings.my_option, +assuming <self> is a "SettingsAware" object. + +* Change commands: +ranger/commands.py + +* Create aliases for commands: +In ranger/commands.py +at the bottom, write something like: alias(exit=quit) + +* Adding colorschemes: +Copy ranger/colorschemes/default.py to ranger/colorschemes/myscheme.py +and modify it according to your needs. +In ranger/defaults/options.py, change + colorscheme = colorschemes.default +to: colorscheme = colorschemes.myscheme + +* Change which files are considered to be "hidden": +In ranger/defaults/options.py +change the hidden_filter regular expression. + +* Change the key map: +Modify ranger/defaults/keys.py. This should be self-explanatory. +Check out ranger/actions.py for the most common actions, of course +you can also use your own functions. + +* Change the file type => application associations: +In ranger/defaults/apps.py +modify the method app_default. +The variable "f" is a filesystem-object with attributes like mimetype, +extension, etc. For a full list, check ranger/fsobject/fsobject.py + +* Change the file extension => mime type associations: +Modify ranger/data/mime.types +and run ranger/data/generate.py to compile it. + + +Version Numbering +----------------- + +X.Y.Z, where: + +* X: Milestones +* Y: Stable versions +* Z: Experimental versions + |