summary refs log tree commit diff stats
path: root/HACKING
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-02-15 21:57:21 +0100
committerhut <hut@lavabit.com>2010-02-15 21:57:21 +0100
commitf8f6f7f94b3c0a1da2d8abb38cf23ca127dd28a4 (patch)
treef92e9d6674057640d6ca218afc0cd3be286cf42c /HACKING
parent4ea0f69aed8d4c173d9abbd0a1bd76d6afe69ccb (diff)
downloadranger-f8f6f7f94b3c0a1da2d8abb38cf23ca127dd28a4.tar.gz
added guidelines on code modification
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING84
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
+
bit.com> 2010-05-03 13:36:20 +0200 committer hut <hut@lavabit.com> 2010-05-03 23:58:07 +0200 Makefile: cleaned up, added automatic uninstall' href='/akspecs/ranger/commit/Makefile?h=v1.7.2&id=b0a216f59a7770f5ce35f4a56b5055c51ceec284'>b0a216f5 ^
2c5ea01d ^
b0a216f5 ^



3a1e1f28 ^
b0a216f5 ^
e7758eba ^
b0a216f5 ^

5fca2a0b ^
b0b3af33 ^


b0a216f5 ^
b0b3af33 ^

2c5ea01d ^
5fca2a0b ^
b0b3af33 ^
2c5ea01d ^
582f3519 ^
b06433bc ^
582f3519 ^

94c5d83e ^
dee6cfa6 ^
e9e4b4ff ^
b0a216f5 ^
76612b05 ^
a082b66a ^
b0a216f5 ^
e9e4b4ff ^





612b8b8b ^
e9e4b4ff ^
5fca2a0b ^
f473be92 ^
5fca2a0b ^
9cf43c17 ^
5fca2a0b ^

c7720fff ^


a6836d5d ^

c7720fff ^
8d21b83c ^


e9e4b4ff ^
25a4162d ^
e9e4b4ff ^
0c2c782d ^
636d9393 ^
b0a216f5 ^
c6afc196 ^

c0d63e78 ^


c6afc196 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89