PDA

View Full Version : gEcrit Python editor announcement!



cgroza
February 28th, 2011, 02:54 PM
Hello, I have developed a python IDE for my own needs and I want to share it.
It is build in wxPython and python. This is the list of features:



Pyton indentation
Line Numbers
Code folding
Syntax Highlight
Shell Emulator
Code Completion (ALPHA)
Program runner
Source Browser
Indentation guides
White space indicator
Autosaving
Edge Line
Multitabing
Printer
Jump to line
Word search
Word replace
Zooming
Undo/Redo
Pastebin.com code submit
Python syntax checking (beta)
Mass line indentation
Mass line dedentation
Autocompletiton
Bad Brace Check
Spell Checking
Tree File Browser

The editor is based on Scintilla, which provides a wide set of built in features.

So far I published it on:

http://sourceforge.net/projects/gecrit/
http://mac.softpedia.com/get/Word-Processing/gEcrit.shtml
https://github.com/cgroza/gEcrit
http://gnomefiles.org/content/show.php?content=139277
http://freshmeat.net/projects/gecrit

If anyone has suggestions, I would be grateful.

The project is young (around 3 months).

The documentation is under way (been busy with coding and forgot about it).
So far it is just me supporting it.

Here is a main screenshot:

cgroza
March 1st, 2011, 03:20 PM
bump

ErikNJ
March 2nd, 2011, 04:56 AM
That's pretty cool - thanks for sharing it. I haven't done much in python. I suppose if I were to ever attempt a larger project than isn't well-served by gedit, I'd have a look at some IDEs. I like the concept of yours (it neatens up dealing with the fussy whitespace of python nicely).

Queue29
March 2nd, 2011, 08:31 AM
Error: Wrong architecture 'i386'

C'mon dude, it's written in python. Packaging for x64 is a 1 line change.


After using it for about 10 minutes, I took a few notes:




gEcrit

i386 ONLY

Icons suck (photographic, should be cartoon)

Source browser cuts off function name, more importantly does not display file name

Need explicit raw_input() at the end of __main__ to keep terminal window open

Syntax highlighting doesn't turn on until you click the "Syntax Highlight"
option TWICE

Edge line doesn't appear anywhere
Shows up only after opening a new file

Source Browser can be opened twice!
Once in settings, then another parallel one can be opened with view->Source browser

Autoindentation width and tabwidth are two different things??

Very noisy terminal output:

gecrit
<wx._gdi.Font; proxy of <Swig Object of type 'wxFont *' at 0x2958340> >
Traceback (most recent call last):
File "editorClass.py", line 441, in <lambda>
cur_doc.Bind(wx.EVT_KEY_UP, lambda event: AutoIndent(event,text_id))
File "/usr/bin/gEcrit/bin/TinyFeatures.py", line 31, in AutoIndent
if cur_doc.GetLine(line-1)[-2] == ":":
IndexError: string index out of range
Traceback (most recent call last):
File "editorClass.py", line 441, in <lambda>
cur_doc.Bind(wx.EVT_KEY_UP, lambda event: AutoIndent(event,text_id))
File "/usr/bin/gEcrit/bin/TinyFeatures.py", line 31, in AutoIndent
if cur_doc.GetLine(line-1)[-2] == ":":
IndexError: string index out of range
Traceback (most recent call last):
File "editorClass.py", line 441, in <lambda>
cur_doc.Bind(wx.EVT_KEY_UP, lambda event: AutoIndent(event,text_id))
File "/usr/bin/gEcrit/bin/TinyFeatures.py", line 31, in AutoIndent
if cur_doc.GetLine(line-1)[-2] == ":":
IndexError: string index out of range
Traceback (most recent call last):
File "editorClass.py", line 441, in <lambda>
cur_doc.Bind(wx.EVT_KEY_UP, lambda event: AutoIndent(event,text_id))
File "/usr/bin/gEcrit/bin/TinyFeatures.py", line 31, in AutoIndent
if cur_doc.GetLine(line-1)[-2] == ":":
IndexError: string index out of range
Child process pid 12196
Child process pid 12198
Unhandled escape sequence: [?12l
Unhandled escape sequence: [?25h
Unhandled escape sequence: [?1049h
Unhandled escape sequence: [1;24r
Unhandled escape sequence: [4l
Unhandled escape sequence: [?7h
Unhandled escape sequence: [?1h
Unhandled escape sequence: [?25l
Unhandled escape sequence: [?1000h
Unhandled escape sequence: [26X
Unhandled escape sequence: [26X
Unhandled escape sequence: [26X
Unhandled escape sequence: [25X
Unhandled escape sequence: [14;23r
Unhandled escape sequence: [2T
Unhandled escape sequence: [1;24r
Unhandled escape sequence: [?12l
Unhandled escape sequence: [?25h
Unhandled escape sequence: [?1000l
Unhandled escape sequence: [?1049l
Unhandled escape sequence: [?1l



Good:
code folding works!
python shell, os shell,

cgroza
March 2nd, 2011, 02:14 PM
C'mon dude, it's written in python. Packaging for x64 is a 1 line change.


After using it for about 10 minutes, I took a few notes:




gEcrit

i386 ONLY

Icons suck (photographic, should be cartoon)

Source browser cuts off function name, more importantly does not display file name

Need explicit raw_input() at the end of __main__ to keep terminal window open

Syntax highlighting doesn't turn on until you click the "Syntax Highlight"
option TWICE

Edge line doesn't appear anywhere
Shows up only after opening a new file

Source Browser can be opened twice!
Once in settings, then another parallel one can be opened with view->Source browser

Autoindentation width and tabwidth are two different things??

Very noisy terminal output:

gecrit
<wx._gdi.Font; proxy of <Swig Object of type 'wxFont *' at 0x2958340> >
Traceback (most recent call last):
File "editorClass.py", line 441, in <lambda>
cur_doc.Bind(wx.EVT_KEY_UP, lambda event: AutoIndent(event,text_id))
File "/usr/bin/gEcrit/bin/TinyFeatures.py", line 31, in AutoIndent
if cur_doc.GetLine(line-1)[-2] == ":":
IndexError: string index out of range
Traceback (most recent call last):
File "editorClass.py", line 441, in <lambda>
cur_doc.Bind(wx.EVT_KEY_UP, lambda event: AutoIndent(event,text_id))
File "/usr/bin/gEcrit/bin/TinyFeatures.py", line 31, in AutoIndent
if cur_doc.GetLine(line-1)[-2] == ":":
IndexError: string index out of range
Traceback (most recent call last):
File "editorClass.py", line 441, in <lambda>
cur_doc.Bind(wx.EVT_KEY_UP, lambda event: AutoIndent(event,text_id))
File "/usr/bin/gEcrit/bin/TinyFeatures.py", line 31, in AutoIndent
if cur_doc.GetLine(line-1)[-2] == ":":
IndexError: string index out of range
Traceback (most recent call last):
File "editorClass.py", line 441, in <lambda>
cur_doc.Bind(wx.EVT_KEY_UP, lambda event: AutoIndent(event,text_id))
File "/usr/bin/gEcrit/bin/TinyFeatures.py", line 31, in AutoIndent
if cur_doc.GetLine(line-1)[-2] == ":":
IndexError: string index out of range
Child process pid 12196
Child process pid 12198
Unhandled escape sequence: [?12l
Unhandled escape sequence: [?25h
Unhandled escape sequence: [?1049h
Unhandled escape sequence: [1;24r
Unhandled escape sequence: [4l
Unhandled escape sequence: [?7h
Unhandled escape sequence: [?1h
Unhandled escape sequence: [?25l
Unhandled escape sequence: [?1000h
Unhandled escape sequence: [26X
Unhandled escape sequence: [26X
Unhandled escape sequence: [26X
Unhandled escape sequence: [25X
Unhandled escape sequence: [14;23r
Unhandled escape sequence: [2T
Unhandled escape sequence: [1;24r
Unhandled escape sequence: [?12l
Unhandled escape sequence: [?25h
Unhandled escape sequence: [?1000l
Unhandled escape sequence: [?1049l
Unhandled escape sequence: [?1l



Good:
code folding works!
python shell, os shell,



You need to force the architecture:
sudo dpkg -i --force-architecture <file here>

Thank you for the critics, the project is still at the beginning. The syntax highlight turns on only on a python file. If it does not have a .py extension, it will not turn on.
Tab width is the size in spaces to display when using tabs.
The most of the terminal output is debugging info for me, you can ignore it.
Thanks, now I have things to fix! :D
EDIT: Fixed the syntax highlight bug.

cgroza
March 2nd, 2011, 02:21 PM
That's pretty cool - thanks for sharing it. I haven't done much in python. I suppose if I were to ever attempt a larger project than isn't well-served by gedit, I'd have a look at some IDEs. I like the concept of yours (it neatens up dealing with the fussy whitespace of python nicely).

Thank you, the project is still new and has many rough edges, but for the IDE part, you might want to try geany (I use it to develop this thing).

cgroza
March 2nd, 2011, 11:57 PM
The deb adds a menu launcher now, no icon though.

NightwishFan
March 3rd, 2011, 01:11 AM
It looks great to me. I will probably give it a go some time as I like python. :)

cgroza
March 3rd, 2011, 02:27 AM
It looks great to me. I will probably give it a go some time as I like python. :)

Glad to have good impressions around here. Thank you.
Tomorrow a release will be out, with some bug fixes an a new feature.

cgroza
March 3rd, 2011, 02:31 AM
The movies fans usually have a lot of DVDs, most of them may ask how to rip the DVD movies freely, now would recommend guys a iovSoft DVD Ripper (http://www.ainsofts.com/dvd-ripper-p.html),is a really fully featured DVD ripping and video conversion soft, such as ripping DVD to AVI (http://www.ainsofts.com/dvd-to-avi-converter.html), DVD to MPEG (http://www.ainsofts.com/dvd-ripper-p.html), and DVD to WMV, MP4, DivX, XviD, FLV, 3GP, MOV, RM, it could also extract audio files from DVDs and convert DVD to MP3 (http://www.ainsofts.com/dvd-to-mp3-converter.html), WMA WAV, OGG, RA audios. Besides, it supports convert DVD to most multimedia players, all the output formats are professionally optimized for best playing back, like converting DVD to iPod (http://www.ainsofts.com/dvd-to-ipod-converter.html), iPhone, iPad, Apple TV, PSP, Xbox, Zune, NDS, Wii. Supplemented with iovSoft DVD Copy (http://www.ainsofts.com/dvd-copy.html), enables you clone DVD movies to DVD 5 or DVD 9 quickly in higher quality.

I think you would have more benefits if you would create your own thread.
EDIT: Ignore, that post got deleted.

cgroza
March 3rd, 2011, 08:10 PM
Version 1.8.3 available, added support for "Recent Files" and fixed some bugs.

ukripper
March 4th, 2011, 06:17 PM
Looks promising. I hope it matures enough to compete with pydev and komodo.

cgroza
March 4th, 2011, 08:05 PM
Looks promising. I hope it matures enough to compete with pydev and komodo.
I hope so too, :D, although it is a bit too optimistic.
I added auto brace completion. Will be included in the next release.

cgroza
March 5th, 2011, 02:18 PM
New release available: 18.3.5

Changes: Added support for brace completion, now the file dialogs will open in the last visited place and the editor will open with the last file opened loaded. Remove trailing spaces option was added. Fixed some minor bugs.

cgroza
March 6th, 2011, 12:40 AM
bump

aG93IGRvIGkgdWJ1bnR1Pw==
March 6th, 2011, 01:16 AM
In a nutshell, what does it do that I can't do in vim/emacs with existing macros and 20 lines of userscripts?

cgroza
March 6th, 2011, 03:22 AM
In a nutshell, what does it do that I can't do in vim/emacs with existing macros and 20 lines of userscripts?
So far nothing special, but I am planning to get some regular expression support for this and a class hierarchy tree. One step at a time.

cgroza
March 9th, 2011, 10:20 PM
Need explicit raw_input() at the end of __main__ to keep terminal window open

Fixed, will be available in next release which is 2 days away.

cgroza
March 11th, 2011, 01:46 AM
Released 1.4.5: https://sourceforge.net/projects/gecrit/
Freshmeat: http://freshmeat.net/projects/gecrit

cgroza
March 13th, 2011, 08:36 PM
Just released 1.8.5:
http://freshmeat.net/projects/gecrit
Added some new features and bugfixes.

cgroza
March 20th, 2011, 09:45 PM
Just released 1.8.7: http://freshmeat.net/projects/gecrit
Added new features.

cgroza
April 5th, 2011, 08:33 PM
Just wanted to say that version 1.9 was released and it features plugin support. I am currently developing an interface to make the development faster via plugins.

Freshmeat page: http://freshmeat.net/projects/gecrit

ukripper
April 6th, 2011, 03:13 PM
Can there be tool included to refactor code easily and unit test support (something like JUNIT for java)? Unit test module is good enough for it but thought extra tool could help development.

cgroza
April 6th, 2011, 09:27 PM
Can there be tool included to refactor code easily and unit test support (something like JUNIT for java)? Unit test module is good enough for it but thought extra tool could help development.
Hmm, this might be in the next release. I will look into other projects to see how code refactoring is done. Maybe I will get inspired by PythonTidy.
Thanks.

rudihawk
April 6th, 2011, 09:55 PM
I don't do any coding but I admire what you are doing!

cgroza
April 6th, 2011, 09:56 PM
I don't do any coding but I admire what you are doing!
This is by far the best thing anyone said to me.
Thank you!

ukripper
April 7th, 2011, 12:43 PM
Hmm, this might be in the next release. I will look into other projects to see how code refactoring is done. Maybe I will get inspired by PythonTidy.
Thanks.

Thanks mate.

Is it going to hit repos at some stage?

aG93IGRvIGkgdWJ1bnR1Pw==
April 7th, 2011, 02:04 PM
To this day, I fail to see the point of using a graphical interface and all the resource waste that entails, just to edit plaintext files. Please enlighten me.

ukripper
April 7th, 2011, 02:16 PM
To this day, I fail to see the point of using a graphical interface and all the resource waste that entails, just to edit plaintext files. Please enlighten me.

Personal preference

cgroza
April 7th, 2011, 09:11 PM
Thanks mate.

Is it going to hit repos at some stage?

I hope so. I will do my best to package it so it will be accepted by Debian or Ubuntu.

ukripper
April 8th, 2011, 10:35 AM
I hope so. I will do my best to package it so it will be accepted by Debian or Ubuntu.

Thanks appreciate your work and i hope it hit repos soon.

gaokai
April 8th, 2011, 10:42 AM
Good tool:lolflag:

cgroza
April 8th, 2011, 09:17 PM
Good tool:lolflag:
I do not know what to think, is that sarcasm?

cgroza
April 8th, 2011, 09:42 PM
2.0 Released!
http://freshmeat.net/projects/gecrit
2 new plugins and some serious bug was fixed.

ukripper
April 11th, 2011, 12:15 PM
2.0 Released!
http://freshmeat.net/projects/gecrit
2 new plugins and some serious bug was fixed.

Is there documentation for plugins I could use? thanks

cgroza
April 12th, 2011, 11:41 PM
Is there documentation for plugins I could use? thanks
Documentation, I have some pydoc files but they are outdated. I will generate the new ones tonight and post them on sourceforge.


Version 2.1 released.
Some GUI changes, new plugin(Abbreviation autocompletion), tree file browser improved and the source browser is now a plugin.

cgroza
April 13th, 2011, 12:11 AM
Is there documentation for plugins I could use? thanks
I uploaded the documentation in the Documentation folder on source forge.

ukripper
April 13th, 2011, 10:59 AM
I uploaded the documentation in the Documentation folder on source forge.

Thank you cgroza, will check it out!

Cheers

rudihawk
April 13th, 2011, 12:00 PM
Any luck with getting it included into the repos?

cgroza
April 13th, 2011, 09:09 PM
Any luck with getting it included into the repos?
I can do the package. This week I will submit it to revu.

ukripper
April 14th, 2011, 09:13 AM
I can do the package. This week I will submit it to revu.

Brilliant!! thanks

cgroza
April 14th, 2011, 10:44 PM
I reached a dead end with the packaging, I can do a deb but not the source package. Maybe there is a volunteer somewhere with the right skills to help me.

Sorry.

cgroza
April 16th, 2011, 09:01 PM
2.2 is out:
http://freshmeat.net/projects/gecrit

cgroza
April 20th, 2011, 09:32 PM
2.3 is out!

Syntax highlight for C like languages, Java, and Ruby was added.
New plugin and bugfixes.

cgroza
April 25th, 2011, 03:29 PM
Version 2.4 is out.

Support for window docking was added. Code completion is done via pyctags now.
Improved a plugin:

Freshmeat: http://freshmeat.net/projects/gecrit
SourceForge: https://sourceforge.net/projects/gecrit/

cgroza
April 30th, 2011, 05:30 PM
New version released: 2.5
Changes: This version adds session support for the editor. It can save all the open tabs, window layout, selected document and restore them at startup. A plugin was added that allows you to have an unlimited number of terminals for any shells. All it needs is a path to the shell interpreter. The spell checker was moved to a plugin and now it is possible to spell check a text selection. A document clone plugin was added. The default text function was moved to a plugin called StampIt.
Link:
http://freshmeat.net/projects/gecrit

cgroza
July 16th, 2011, 02:46 PM
Hello again.
Thanks to a Debian packager, there is a gEcrit PPA now.
PPA page:
https://launchpad.net/~vincent-c/+archive/gecrit

NightwishFan
July 16th, 2011, 06:54 PM
Hello again.
Thanks to a Debian packager, there is a gEcrit PPA now.
PPA page:
https://launchpad.net/~vincent-c/+archive/gecrit

Awesome! :) Any chance of it being maintained in debian?

cgroza
July 16th, 2011, 07:44 PM
Awesome! :) Any chance of it being maintained in debian?
Well the packager that helped me submitted it to the mentors. Too bad it's too late for it to get into Oneiric, maybe in 12.04.

cgroza
July 26th, 2011, 10:48 PM
Just wanted to let you know that gEcrit made it into Debian Unstable and it is possible that Ubuntu 12.04 will pick it up.

NightwishFan
July 27th, 2011, 12:40 AM
Just wanted to let you know that gEcrit made it into Debian Unstable and it is possible that Ubuntu 12.04 will pick it up.

Seems it has. Great job! :)

user@debian-ghibli:~$ apt-cache policy gecrit
gecrit:
Installed: (none)
Candidate: 2.7.1-1
Version table:
2.7.1-1 0
600 http://debian.osuosl.org/debian/ unstable/main amd64 Packages