Deditor 0.2.5 Released

After some pause in the development of deditor, I’m proud to release a new version of the text-editor 0.2.5

Deditor 0.2.5 has some new graphical changes, like the configuration panel, the project and the network plugin.

As it is a long time ago since version 0.2.4.3 it is possible that I forget some things. but here is a short list of new things.

Changes

*functionality improvements
– commandbar now has an autocomplete system to quickly enter commands
– when saving a python file, pyflakes will be ran in the background on the file and every line in your code that has an error will be marked in the sideline
– Added 10 commands (see below)
– Improved search system (see below)

*graphical changes
– choice between multiple designs (see below)
– FindBar moved to bottom between notebook and shell
– Made searchbar better by replacing textbuttons with icons
– Configuration Panel totally redesigned
– When You add a new project you get a large notebook page now ūüėČ
– Networking has been rewritten to use a notebook page and better download/upload visualisation

*advanced
– new Emacs Plugin (replaces macro plugin)(see below)

*not so special
– You will be notified when you close a file that has unsaved changes
– added save-as support (from the menu and also when you save a non-existing file)
– Visual sign that file has unsaved changes

Bugfixes

-customize font/size save now works
-fixed IndexError when closing the only file
-autoindentation for all files by default (previously it was python-only O_o)
-ctrl+f now also hides findbar if already open
-removed unused imports
-saving to unexisting dir, will create the dir first
-removed not-used variables and print statements
-opening a non-existing file results in creating the file and open it

Emacs Plugin

Once activated this plugin overrides every assigned keybinding with the typical emacs keybindings, both commandline as keybinding are supported.
NOTE 1: I have never used emacs myself so lot’s of features etc are missing, if you want to help contact me ūüėČ
NOTE 2: A vim plugin might come in the future

Designs

Where as the name sounds very exciting is isn’t at all :p you can now choose between two “designs” the minimal design is what you’re used to work with and the extended design adds some buttons for those that aren’t fond of using keybindings that often.

Commands (from deditor, not from plugins)

quit: close deditor
open: show the open dialog
open /home/…/file.py: open the file on the path specified
close: close the current tab
close 3: close tab number 3 Warning: tab numbers internally are different as the way they are ordered in the gui
new: create a new file
new /home/…/file.py: create the file at the specified path and open it
config: show the configuration panel
config show: show the configuration panel
config hide: hide the configuration panel
shell: show the python shell
shell show: show the python shell
shell hide: hide the python shell
version: shows a dialog with the version of deditor
update: tries to update deditor if possible
find: show/hide the findbar
find this: show the findbar and look for ‚Äúthis‚ÄĚ
syntax python: changes the syntax of the current file to ‚Äúpython‚ÄĚ
size 500√ó600: sizes deditor to 500 width and 600 height, this is saved to the configuration and will be used on startup

Search

Now backwards search actually works :p, you can also specify which kind of search you want: normal, matchcase, startword, wholeword or regex! The searchbar also moved down to sit between the notebook and the shell, this is much nicer (thanks to Manuel) also the searchbar got a new look, no more textbuttons, but a large searchfield and 3 icons, an up arrow, down arrow and close icon

Also all the 0.2.4.x bugfix releases are included, these covered also some very important new additions being the most important

– CodeCompletion working much better and always showing the dot
– Update system should work
-AttributeError: ‚ÄėKeyEvent‚Äô has no ‚ÄėVeto‚Äô attribute fixed!
-Made CodeCompletion only work on python_file() == True
-Fixed projectslist empty after closing project
-Fixed CSDialog, call CSDialog.GetValue() (or GetReturnCode()) to alternate between True/False

I have to say that some ideas came from someone who helped me a lot with giving feedback and searching for bugs. Thanks Manuel ūüėČ

DOWNLOAD: http://launchpad.net/deditor/+download

Advertisements

Snippyts, Analyzing and Inspecting

I added snippyts to deditor to improve python support  these snippyts are small fixes/improvements to fasten your development.
Current snippyts:
-Hide __x__ elements from inspect ¬† ¬†(e.g. __name__, …)
-If you open a .pyc file, close it and open the according .py file
-AutoIndent after a “:” when you typed: class/def/if/elif/else/while/for

And also some rewrite options which give you the power to fast write a basic structure:
( Input > Output   ;   I == cursor )

testdef  >   def test(I

plaindef  >  def I():\n     (4 spaces)

testselfe  >  def test(self, I       (e for extra)

testselfn > def test(self):\n    (4 spaces)      (n for newline)

shebang  > #!/usr/bin/env python

Also the Analyze feature has been recoded (and fixed as it was broken since version 0.2.4)
For Analyzing deditor uses pylint and adds a marker to each line which contains an error

Also The Inspect system has been redone as it was very bad done :p
It now borrowed some features from the CodeCompletion Plugin


Announcing Deditor 0.2.5

Deditor 0.2.5 will be the next big release, it will take some time before it is finished and there will be added a lot after this post,  this is just an overview of what already has been accomplished

Changes

– You will be notified when you close a file that has unsaved changes
– Macro plugin gone and replaced by new Emacs Plugin (see below)
– choice between multiple designs (see below)
– commandbar now has an autocomplete system to quickly enter commands
Рadded save-as support  (from the menu and also when you save a non-existing file)
– Visual sign that file has unsaved changes
– FindBar moved to bottom between notebook and shell
Рwhen saving a python file,  pyflakes will be ran in the background on the file and every line in your code that has an error will be marked in the sideline
– Added 10 commands (see below)
– Improved search system (see below)
– Made searchbar better by replacing textbuttons with icons

Bugfixes

-customize font/size save now works
-fixed IndexError when closing the only file
-autoindentation for all files by default  (previously it was python-only O_o)
-ctrl+f now also hides findbar if already open
-removed unused imports
-saving to unexisting dir, will create the dir first
-removed not-used variables and print statements
-opening a non-existing file results in creating the file and open it

 

Emacs Plugin

Once activated this plugin overrides every assigned keybinding with the typical emacs keybindings,  both commandline as keybinding are supported.

Designs

You now have the option to choose between two design themes: minimal or extended. ¬†minimal is the way you’re used to work, ¬†extended currently only adds some buttons next to the commandbar to quickly open/save files. ¬† More changes and design options might come.

Commands  (from deditor, not from plugins)

quit: close deditor
open:  show the open dialog
open /home/…/file.py: ¬† open the file on the path specified
close: close the current tab
close 3: close tab number 3  Warning: tab numbers internally are different as the way they are ordered in the gui
new:  create a new file
new /home/…/file.py: ¬†create the file at the specified path and open it
config:   show the configuration panel
config show:  show the configuration panel
config hide:  hide the configuration panel
shell: show the python shell
shell show: show the python shell
shell hide:  hide the python shell
version:  shows a dialog with the version of deditor
update:   tries to update deditor if possible
find:  show/hide the findbar
find this: ¬†show the findbar and look for “this”
syntax python: ¬†changes the syntax of the current file to “python”
size 500×600: sizes deditor to 500 width and 600 height, ¬†this is saved to the configuration and will be used on startup

Search

Now backwards search actually works :p,  you can also specify which kind of search you want:  normal,  matchcase, startword, wholeword or regex!   The searchbar also moved down to sit between the notebook and the shell,  this is much nicer (thanks to Manuel) also the searchbar got a new look,  no more textbuttons,  but a large searchfield and 3 icons,  an up arrow, down arrow and close icon

 

Also all the 0.2.4.x bugfix releases are included, these covered also some very important new additions being the most important

– CodeCompletion working much better and always showing the dot
– Update system should work
-AttributeError: ‘KeyEvent’ has no ‘Veto’ attribute fixed!
-Made CodeCompletion only work on python_file() == True
-Fixed projectslist empty after closing project
-Fixed CSDialog, call CSDialog.GetValue() (or GetReturnCode()) to alternate between True/False


Deditor 0.2.4.1

this is an update 0.2.4.1 to the original 0.2.4 version.

There will be a lot of such updates as 0.2.5 will only appear once every plugin in 0.2.4 is finished and stable and once there is the need for new functionality not provided by third-partie plugins.  0.2.4.X will thus be most of the time bugfixes and code enhancements to the original 0.2.4 source code.

New In 0.2.4.1 :

РCustomization enhancements:  specify font and size seperate from theme.
РCodeCompletion enhancements:  solved some issues making writing a dot impossible.
– Fixed bug in deditor.py related to keybindings which prevents the raise of a PyDeadObjectError
– Refixed command line file passing.

I’m also going to screencast a new video with sound that will detail everything about deditor, including the last changes.


State of Development

For each program/website I’m going to give a short introduction, ¬†an overview of what has been accomplished, and possible future plans

Programs

– Deditor

About: ¬† Deditor is a pythonic text-editor, ¬†it’s an editor entirely written in python and in first placed focused on python development.
Acc.   :
– Basic text-editor functions
– Converted to use DPlug (plugin system)
– Python features:
РRunCode:   simply run the current code
РAnalyzeCode:   analyze the code
РCodeCompletion :  advanced system to complete/guess what could follow after a period (.)  this works for modules, methods, functions and classes
– Network features
– SSH
– SFTP
– Projects
– Basic projects
– export/import
Р Tar.gz supported
– Advanced Configuration
Р filepath modified to work as a command field
Р basic emacs key functionality trough command
Fut:
– General Stabilization
Р Emacs improvement + Macro possibility
Р Network&Project should be foolproof

– Minimal D

About:  Minimal is a small IDE written in python, it has a compact design which makes it easy to work.
Acc:
Р Managed to replace D-CM with Minimal,  from large and ugly to small and beautiful
Р Converted to use DPlug
Р Network Plugin Added
Fut:
– More features!!! (Ideas?! O_o)
– fix Sidebar bug

Websites

– dbug

About:  dbug is a project under development, it will be a site to provide small developers a good community to help with bugfix and spread the word
Acc:  Only the idea :p
Fut:  Everything

– kruptools

About: ¬†kruptools is the main site for Kruptein’s projects, ¬†it is now quite empty and should thus be beautified.
Acc:  Plain information,  Docs and Blog
Fut:  Design and Work out

 

Everyone who thinks he/she can help, please respond ūüôā


Deditor 0.2.4 ~Finished

You can now download the deb for deditor-0.2.4 from http://launchpad.net/deditor

This version comes with a lot of new things, being:
– Better Configuration Options
– Customization Plugin which allows you to select a theme, currently you only have the options between two themes, this is because I’m not good in theming and selecting the right colours. I hope there might be some folks who help me with this, an update of this plugin will also arrive soon as there is many to do more with this!
– Network Plugin, you now have the possiblity to use ssh and sftp to directly edit files from a certain server.
– Macro Plugin, this is an experimental plugin which provides some basic emacs-keybindings and will in the future be used to record and execute macro’s
– CommandLine, the well known filepath is now multifunctional, it is still used as the location to show filepaths, but also used as a commandline

examples:
ssh start (ENTER/RETURN) starts the ssh service (start or connect)
sftp disconnect stops the sftp service (stop or disconnect)
ssh download show the download screen
sftp hide hide download/upload screen
quit will quit deditor
M-x next-line emacs style line operations
C-e goto end of line, (emacs) note that this does not work like in emacs by doing Control, e you need to type this in the commandfield
project create create a new project
project open example open the project called example
project delete delete the currently opened project
project close close the currently opened project

– Update system, a system to notify you of a new version and installs this automagically for you (only works with .deb)
– Better keybindings system, you can choose your keybindings yourself

There were also a lot of bugfixes and improvements, like the syntax-highlighting menu shows the right syntax and if you open a file the right syntax is chosen (although this only works for a few languages)

A lot of small updates will come as there are a lot of new plugins which all are experimental and have to be optimized
expect updates for:
-Customization
-Macro
-General <= syntax highlighting noticed for all suported languages


CodeCompletion Speed Boost! — [Download]

Hey,

My CodeCompletion plugin was in 0.2.3 only available for modules and when these became large (>1000) the codecompletion went slowly, in the 0.2.4-alpha I added also completion for classes, methods, functions,… which made the whole code also slower.

But now I already fixed the speed by doing two things:
– a temporary memory in which every module,class,… used in the session is remembered and can thus be loaded instantly without looping trough all possibilities
– a split memory, which is a more advanced memory system for modules,classes that have more than 1000 items, they are splitted up per letter and are only looked up after you pressed the first character (whereas normal memory already gives options typing the dot (.)) This gave an impressive speed boost for the wx library from a couple of seconds to instantly!

I’m already releasing this plugin (just drop it in your plugin folder, overwriting the previous one), it still has some small bugs, which will be solved with the next alpha or beta release

Enjoy your speedboost!

http://kruptein.alwaysdata.net/downloads/py/codecompletion.py