aafshar / pida-main
The main PIDA branch
$ hg clone http://bitbucket.org/aafshar/pida-main/
| commit 2035: | fb45e3febc66 |
| parent 2034: | f7439dd38e47 |
| branch: | default |
- View RonnyPfannschmidt's profile
-
RonnyPfannschmidt's public repos »
- pida-patches
- vimish
- pida-hacks
- virtualenvmanager
- py-virtualenv
- distribute-0.6
- distribute-resources
- pytest-codecheckers
- py-execnet3k
- gexcept
- glashammer-main
- flatland-htmlwidgets
- django-vcstorage-new-anyvc
- hgpaste
- chrome-markman
- apipkg
- kij
- gtkarchitect-main
- gazpacho
- plugpost
- rope-qickfix
- pyscope
- anyvc
- prolog
- Send message
9 months ago
Changed (Δ1.2 KB):
.hgignore (1 lines added, 0 lines removed)
docs/source/developer/codingstyle.rst (20 lines added, 44 lines removed)
docs/source/user/gettingstarted.rst (34 lines added, 8 lines removed)
docs/source/user/installation.rst (22 lines added, 9 lines removed)
docs/source/user/introduction.rst (10 lines added, 2 lines removed)
| … | … | @@ -14,5 +14,6 @@ moo/test |
14 |
14 |
.*\.pyc |
15 |
15 |
tmp |
16 |
16 |
.pida-metadata |
17 |
docs/_build |
|
17 |
18 |
.*\.*~ |
18 |
19 |
externals |
Up to file-list docs/source/developer/codingstyle.rst:
2 |
2 |
PIDA Coding Style Guidelines |
3 |
3 |
============================ |
4 |
4 |
|
5 |
First read :pep:`8` (the PEP on how to write readable Python code). The PEP gives |
|
6 |
a number of good insights. The PEP gives a few options on things, and I shall |
|
7 |
try to clarify what I prefer here. Where this document differs from :pep:`8`, you |
|
8 |
should use what is presented here, unless you are a zealot in which case you |
|
9 |
should listen to the Python people (who are cleverer than me anyway). Also |
|
10 |
read :pep:`20` while you are at it. |
|
5 |
First read :pep:`8` (the PEP on how to write readable Python code). |
|
6 |
The PEP gives a number of good insights. |
|
7 |
The PEP gives a few options on things, |
|
8 |
and we shall try to clarify what we prefer here. |
|
9 |
Where this document differs from :pep:`8`, |
|
10 |
you should use what is presented here, |
|
11 |
unless you are a zealot in which case |
|
12 |
you should listen to the Python people |
|
13 |
(who are cleverer than me anyway). |
|
14 |
Also read :pep:`20` while you are at it. |
|
11 |
15 |
|
12 |
16 |
Indenting |
13 |
17 |
--------- |
14 |
18 |
|
15 |
4 Spaces, no tabs ever ever. This is not negotiable. Emacs users please check |
|
16 |
your settings, somehow tabs creep into emacs-written code. |
|
19 |
4 Spaces, no tabs ever ever. This is not negotiable. |
|
20 |
||
21 |
.. note:: |
|
22 |
||
23 |
Emacs users please check your settings, |
|
24 |
somehow tabs creep into emacs-written code. |
|
17 |
25 |
|
18 |
26 |
Line Width |
19 |
27 |
---------- |
20 |
28 |
|
21 |
79 characters, perhaps 78 to be safe. This is negotiable, and there are times |
|
22 |
when 83 character lines are acceptable. You can be the judge. I am not sure |
|
23 |
many people use 80-character terminals these days, so we can be a bit less |
|
24 |
hard-line than the PEP. |
|
25 |
||
26 |
You can split lines however you wish. I personally use 3 different forms of |
|
27 |
splitting depending on the purpose. |
|
28 |
||
29 |
Long lists, dicts, or many paramteres to a function:: |
|
30 |
||
31 |
service_base_classes = [ |
|
32 |
OptionsMixin, |
|
33 |
commands_mixin, |
|
34 |
events_mixin, |
|
35 |
bindings_mixin, |
|
36 |
] |
|
37 |
||
38 |
Single extra bit:: |
|
39 |
||
40 |
def really_long_method_or_function_name(first_parameter, second_paramater, |
|
41 |
third_parameter) |
|
42 |
||
43 |
Or:: |
|
44 |
||
45 |
def really_long_method_or_function_name(first_parameter, second_paramater, |
|
46 |
third_parameter) |
|
47 |
||
48 |
It all depends on the use at the time, and we should remember to keep it |
|
49 |
|
|
29 |
79 characters, perhaps 78 to be safe. |
|
30 |
This is negotiable, and there are times when 83 character lines are acceptable. |
|
31 |
You can be the judge. We are not sure many people use 80-character terminals these days, |
|
32 |
so we can be a bit less hard-line than the PEP. |
|
50 |
33 |
|
51 |
34 |
Blank Lines |
52 |
35 |
----------- |
| … | … | @@ -166,13 +149,6 @@ Python's shoot-me-in-the-foot techniques |
166 |
149 |
so. I have made these mistakes myself, and have (hopefully learned from the |
167 |
150 |
mistakes. So: |
168 |
151 |
|
169 |
Meta classes |
|
170 |
~~~~~~~~~~~~ |
|
171 |
||
172 |
Never! I have yet to see a use-case for metaclasses which did not |
|
173 |
relate to perverting some other library or external class. I am happy |
|
174 |
to be enlightened. |
|
175 |
||
176 |
152 |
Decorators |
177 |
153 |
~~~~~~~~~~ |
178 |
154 |
Up to file-list docs/source/user/gettingstarted.rst:
| … | … | @@ -15,25 +15,40 @@ First run wizard |
15 |
15 |
The PIDA window |
16 |
16 |
~~~~~~~~~~~~~~~ |
17 |
17 |
|
18 |
Like any other IDE, PIDA provides in one window all the tools you need to edit your files, |
|
18 |
Like any other IDE, PIDA provides in one window all the tools you need to edit your files, |
|
19 |
compile your programs, invoke external tools, explore a project space or a file hierarchy, and so on. |
|
20 |
The PIDA window is organized with a menu, a toolbar, multiple views and a status bar. |
|
21 |
Many of these elements are optional and can be hidden or displayed at will. |
|
19 |
22 |
|
20 |
23 |
The menu bar |
21 |
24 |
^^^^^^^^^^^^ |
22 |
25 |
|
23 |
26 |
File |
24 |
This menu offers all file related operations, |
|
27 |
This menu offers all file related operations, |
|
28 |
like creating, saving, or closing a document, |
|
29 |
but also all version control operations. |
|
30 |
PIDA also provides sessions management, |
|
31 |
and the *File* menu permits to save the current session or load a previous one. |
|
25 |
32 |
|
26 |
33 |
Edit |
27 |
This menu serves two purposes. |
|
34 |
This menu serves two purposes. |
|
35 |
||
36 |
First, it provides facilities to search documents throughout a project, or directories. |
|
37 |
But PIDA preferences and shortcuts settings are also modifiable from here. |
|
28 |
38 |
|
29 |
39 |
Project |
30 |
This menu provides version control at project level. |
|
40 |
This menu provides version control at project level. |
|
41 |
From there, it is also possible to modify the properties of a project |
|
42 |
and to start the configured targets. |
|
31 |
43 |
|
32 |
44 |
Tools |
33 |
45 |
Additional utilities, like a terminal and a Python shell for PIDA introspection. |
34 |
46 |
|
35 |
47 |
View |
36 |
The PIDA window can be customized from there, |
|
48 |
The PIDA window can be customized from there, |
|
49 |
displaying or hiding special views or elements like the menu bar or the tool bar. |
|
50 |
This menu also provides shortcuts to access quickly the most important views of the window, |
|
51 |
like the file manager. |
|
37 |
52 |
|
38 |
53 |
Help |
39 |
54 |
Provides only the credits window for now. |
| … | … | @@ -50,16 +65,27 @@ The status bar provides live information |
50 |
65 |
The editor |
51 |
66 |
^^^^^^^^^^ |
52 |
67 |
|
53 |
The editor is the core element of PIDA. |
|
68 |
The editor is the core element of PIDA. |
|
69 |
All other views only provide utilities to fill the missing features of the editor |
|
70 |
or integrate important accessories -- like a debugger -- |
|
71 |
or give a quick access to external tools -- like a terminal. |
|
72 |
The editor is also the central view of PIDA. |
|
73 |
All other views can be moved around it. |
|
54 |
74 |
|
55 |
PIDA can support any editor. |
|
75 |
PIDA can support any editor. |
|
76 |
Editor shortcuts and features directly depend on what editor you prefer. |
|
77 |
It is possible that some features of the chosen editor and PIDA features overlap. |
|
78 |
In this case, both can be used, |
|
79 |
but the feature implemented by PIDA will |
|
80 |
certainly provide better integration with the other tools of the IDE. |
|
56 |
81 |
|
57 |
82 |
.. Insert image of getting_started_window_views |
58 |
83 |
|
59 |
84 |
Views |
60 |
85 |
^^^^^ |
61 |
86 |
|
62 |
All elements in the PIDA window, except the editor, the menu bar, the toolbar and status bar, |
|
87 |
All elements in the PIDA window, except the editor, the menu bar, the toolbar and status bar, |
|
88 |
can be moved (remember that the menu bar and the toolbar can be hidden though). |
|
63 |
89 |
|
64 |
90 |
FIXME: must choose carefully the vocabulary for elements of the views and keep them consistent. |
65 |
91 |
Up to file-list docs/source/user/installation.rst:
| … | … | @@ -55,10 +55,14 @@ Mandatory Dependencies |
55 |
55 |
**VTE** |
56 |
56 |
VTE is a GTK terminal widget that is used by gnome-terminal. PIDA uses this for many things, and since it is in most distributions that Gnome is in, we have made it an absolute requirement. |
57 |
57 |
|
58 |
**gazpacho** |
|
59 |
gazpacho is a gtk ui designer, it is needed for some glade-extensions, |
|
60 |
we hope to phase it out in a future release. |
|
61 |
||
58 |
62 |
In the Ubuntu and Debian distributions, you should install the mandatory dependencies. This is only necessary if you do not use the distribution version:: |
59 |
63 |
|
60 |
64 |
sudo apt-get install gvim python-gnome2 python-gnome2-extras \ |
61 |
python-gtk2 python-vte python-kiwi python-setuptools python-glade2 librsvg2-common |
|
65 |
python-gtk2 python-vte python-kiwi python-setuptools python-glade2 librsvg2-common gazpacho |
|
62 |
66 |
|
63 |
67 |
Optional Dependencies |
64 |
68 |
~~~~~~~~~~~~~~~~~~~~~ |
| … | … | @@ -118,7 +122,8 @@ or to be more precise:: |
118 |
122 |
Installation from Source |
119 |
123 |
------------------------ |
120 |
124 |
|
121 |
**Installation is the recommended method of running PIDA |
|
125 |
**Installation is the recommended method of running PIDA for users. |
|
126 |
Running from source should be reserved for people intending to develop pida itself or a plugion.** |
|
122 |
127 |
|
123 |
128 |
To install PIDA, the following command should be run as root (or using sudo) if you are installing to a global location. This command is run from the PIDA directory either created from the Mercurial checkout, or the stable tarball:: |
124 |
129 |
|
| … | … | @@ -132,11 +137,15 @@ You also need to install anyvc and rope: |
132 |
137 |
Run from source |
133 |
138 |
--------------- |
134 |
139 |
|
135 |
First copy the file moo_stub.so (that was built in the build stage) from the build/ directory to a directory in your PYTHONPATH or the working directory. |
|
140 |
It is necessary to invoke `python setup.py build_ext -i` |
|
141 |
in order to get a c-written ui extension compiled + placed in the source path. |
|
136 |
142 |
|
137 |
143 |
.. note:: |
138 |
144 |
|
139 |
Running from source is generally reserved for developers of PIDA |
|
145 |
Running from source is generally reserved for developers of PIDA |
|
146 |
or those people who really know what they are doing. |
|
147 |
It is very useful to be able to make a change and test it immediately. |
|
148 |
It is not recommended to use this as a general execution method. |
|
140 |
149 |
|
141 |
150 |
To run PIDA directly from the source, run:: |
142 |
151 |
|
| … | … | @@ -144,15 +153,19 @@ To run PIDA directly from the source, ru |
144 |
153 |
|
145 |
154 |
.. note:: |
146 |
155 |
|
147 |
|
|
156 |
`run-pida.py` will add the plugins in the checkout to the plugin-search-path, |
|
157 |
the installed executables wont do that. |
|
148 |
158 |
|
149 |
159 |
MS Windows |
150 |
160 |
---------- |
151 |
161 |
|
152 |
Some pointers on how to install PIDA dependencies |
|
162 |
Some pointers on how to install PIDA dependencies |
|
163 |
and perform a `Windows Installation`_ can be found on the Trac_. |
|
153 |
164 |
|
154 |
.. Mac OS X |
|
155 |
.. -------- |
|
165 |
Due to lack of developers on Win32 we can't maintain official support. |
|
156 |
166 |
|
157 |
.. FIXME. |
|
167 |
Mac OS X |
|
168 |
-------- |
|
158 |
169 |
|
170 |
No official support yet, |
|
171 |
but planned support for pida with gtk based embedded editors (medit and gtksourceview). |
Up to file-list docs/source/user/introduction.rst:
3 |
3 |
Introduction |
4 |
4 |
============ |
5 |
5 |
|
6 |
Many of the very good IDE's out there are "closed" in the sense |
|
6 |
Many of the very good IDE's out there are "closed" in the sense |
|
7 |
that they are limited in terms of extensibility and communication with other tools. |
|
8 |
Further, many writers and programmers want to change their editor to something else |
|
9 |
while retaining the features of an IDE. |
|
7 |
10 |
|
8 |
PIDA was designed with these problems in mind. |
|
11 |
PIDA was designed with these problems in mind. |
|
12 |
PIDA's motto is to reuse the tools that proved to be useful and solid; |
|
13 |
thus, PIDA provides the glue for them. |
|
14 |
PIDA is written in Python_ and uses PyGTK_. |
|
15 |
It is easily extensible through plugins |
|
16 |
and can embed any editor provided someone writes an adapter for it. |
|
9 |
17 |
|
10 |
18 |
PIDA has a number of unique features, such as |
11 |
19 |
