Pyditor, Text editor fully extendible in python a la' Emacs

Nahuel Greco ngreco at softhome.net
Sat Jan 27 17:38:48 EST 2001


I have a dream, of a perfect text editor (im calling it pyditor, but name it
as you want ):

	* Coded in C/Python, Scriptable with python in the emacs/elisp way

	* Font handling - pretty syntax highlighting, with color schemes
          themables, (the default will be audited by an user interfase
          expert :)

	* Various backends - PyGTK, PyQT, PyQuartz(?), and.. (this is
	  important to me and too much other people) PyNcurses!
          antialiased text if the backend support that. (soon gtk and qt)

	* ligthweight in speed & ram
	
	* Portable as python and the "backends" are

	* No python centric - i mean, no another IDLE, i want a editor that
          you can script in python, but you can use (as modes in xemacs),
          python-mode.py, c-mode.py, perl-mode.py, java-mode.py , etc etc.

        * Filesystem abstraction - you can open&save files in an http site
          (with webdav), ftp, inside a tar.gz, etc. (easy with python!)

	* CVS support

	* Crypt support (via GPG), open crypted files in the disk, edit them,
          and save encrypted again.

	* Mouse capable but no mouse addict - there is keyb shorcuts for all
          that you can do.. for example, if i have 3 editor windows opened, i
          want to move to the window in the left of the current with 
          alt+leftarrow

	* Jython portable?

	* Full UNICODE internationalization !!!!! (easy with python! :)
        
	* As i say before, "emacs modes", like fly-spell (auto word checking),
          etc.

	* Easy use, as commands are documented in the modules via doc strings
          and, most commands are reachable in a pull-down menu.

	* Editor modules repository - you need something for your editor?, 
          go to File/Modules/Repository and then download the latest versions.
	  Also to avoid duplicate effort.

	* Easy configurable - the user can configure all the modules in the
          same place, with a common interfase.
          
	* User / Newbie friendly, pulldown menus.
	
	* Good canvas - suppose that you can type latex code in a text window,
          and see  at the same time the effects of that code in a latex 
          wysiwyg rendered window, then, switch to the wysiwyg window, select
          a different font from a pulldown box, change that window, and see
          the changes reflected in the text window.

	* Centralized keyboard "shorcuts" managment - you can go to a screen
          with all the key combinations registered and the modules that use
          it... you can attach custom code to that keyboard event, or change
          all of them to "emacs-friendly" o "vi-friendly" with only a click

	* client server model like gnuclient / xemacs?

 Finally, think about the easy that the modules will be writted in python, if
 you need to do a xml-mode, you already have the support, you need to read
 some db from the editor for something?, corba? you have support, etc.

 With a good HOWTO-Extend-Pyditor documentation, the ease of programming
 of python, and the large py community, is not a dream to reach in
 considerably little time the quantity of extension modules of xemacs /
 xemacs functionality.

 I cant think a way that this will not be a python killer-app, and extend
 the use of python to all the programmers / guys that use too much a text
 editor community.

 I dont know this, (say me if im wrong), but the big effort in emacs was to
 create / debug the elisp engine / libraries.... we already have the 
 python interpreter and the libs!
	
 But, i dont have the time and the editor code knowledge to code this piece of
 software, im only posting the ideas. I think that before write this, will be
 good to analize the code / API of Emacs / Xemacs / Texmacs / Lyx, and other
 editors to code the perfect one :)

 Later, if you want to write a mail editor, you use the text editor module inside
 your MUA framework, or your ide / interfase builder.

 What do you think?


 There is already a project like this? (btw, i dont like wily :)

(Forgive my bad english :))

---------------------------------
          Nahuel Greco
   http://www.codelarvs.com.ar
  Web Development - Open Source
   Game programming - Research
---------------------------------




More information about the Python-list mailing list