Showing posts with label komodo-edit. Show all posts
Showing posts with label komodo-edit. Show all posts

Tuesday, July 27, 2010

Komodo Edit

I like Komodo Edit. It's simple but at the same time functional enough to be useful. It also does code completion, supports Python, and is cross-platform. (Side note: If only it supported Scala, then it would be like the **aaaaahhh** perfect editor).

I've had this idea kicking around for a while of starting a Komodo color themes/schemes website. The idea is simple. You create a theme, then share it on the site. Other people can download it or Vote/"Like" it. Most-liked themes bubble to the top. I'm thinking of a simple architecture using Google App Engine (python) + Tornado. We'll see.

In the mean time I sure did waste like 2 hours of what should have been productive programming time putting together a bunch of themes for Komodo Edit. Here are some previews of them...


"Heart Dry"


"Fancy Terminal"

 "Happy Day" (currently used)


 "Monokai"


"Phoenix"


"Transformers"


"Work Scheme"

Thursday, November 5, 2009

Komodo Edit Theme: Candybar Ver 1

Well what's the fun of a new editor without a new color scheme to go along with it? Here's my latest Komodo Edit color scheme. The colors were inspired by Mozilla Bespin, but I've certainly taken things in my own direction.

Python


HTML



Instead of uploading the file somewhere (which would create a broken link a year from now), I'm going to insert the text right here.

To use this theme copy all of the text and save it as "Candybar ver 1.ksf". Save the file to C:\Documents and Settings\[username]\Application Data\ActiveState\KomodoEdit\[version]\schemes. Under Windows Vista and 7 Save to the "Users" folder instead of "Documents and Settings".

This is my first release of this theme. Expect minor tweaks in the future.


Version = 4

Booleans = {'caretLineVisible': False, 'preferFixed': True, 'useSelFore': False}

CommonStyles = {'attribute name': {'fore': 8904824},
'attribute value': {'fore': 13676752},
'bracebad': {'back': 2501686, 'bold': 1, 'fore': 128},
'bracehighlight': {'back': 2501686, 'bold': 1, 'fore': 2721475},
'classes': {'back': 2501686, 'bold': True, 'fore': 5546676},
'comments': {'back': 2501686, 'fore': 9411235, 'italic': 1},
'control characters': {'back': 2501686, 'fore': 7897997},
'default_fixed': {'back': 2501686,
'bold': False,
'eolfilled': 0,
'face': 'Monaco',
'fore': 11581373,
'hotspot': 0,
'italic': 0,
'size': 10,
'useFixed': 1},
'default_proportional': {'back': 2501686,
'bold': 0,
'eolfilled': 0,
'face': 'Verdana',
'fore': 11581373,
'hotspot': 0,
'italic': 0,
'size': 10,
'useFixed': 0},
'fold markers': {'back': 2501686, 'fore': 7897997},
'functions': {'fore': 7897997},
'identifiers': {'fore': 7897997},
'indent guides': {'back': 6710886, 'fore': 7897997},
'keywords': {'fore': 5546676},
'keywords2': {'fore': 8904824},
'linenumbers': {'fore': 7897997},
'numbers': {'fore': 12688752},
'operators': {'fore': 4222857},
'preprocessor': {'fore': 7897997},
'regex': {'fore': 16751415},
'stderr': {'fore': 7897997, 'italic': 1},
'stdin': {'fore': 7897997},
'stdout': {'fore': 7897997},
'stringeol': {'back': 6697728, 'eolfilled': 1, 'fore': 7897997},
'strings': {'fore': 12688752},
'tags': {'fore': 52735},
'variables': {'fore': 0}}

LanguageStyles = {'C#': {'UUIDs': {'fore': 0},
'commentdockeyword': {'fore': 0},
'commentdockeyworderror': {'fore': 2293759},
'globalclass': {'fore': 7632127},
'verbatim': {'fore': 0}},
'C++': {'UUIDs': {'fore': 0},
'commentdockeyword': {'fore': 0},
'commentdockeyworderror': {'fore': 2293759},
'globalclass': {'fore': 7632127},
'verbatim': {'fore': 0}},
'CSS': {'classes': {'fore': 12629703},
'identifiers': {'fore': 16634024},
'ids': {'fore': 7986943},
'operators': {'fore': 11599871},
'tags': {'fore': 3977471},
'values': {'fore': 14155775}},
'Diff': {'additionline': {'fore': 7667711},
'chunkheader': {'fore': 7632127},
'deletionline': {'fore': 16777076},
'diffline': {'fore': 9868950, 'italic': 1},
'fileline': {'fore': 8904824, 'italic': 1}},
'Errors': {'Error lines': {'fore': 16777113, 'hotspot': 1, 'italic': 1}},
'HTML': {'attribute name': {'fore': 16428914},
'attributes': {'fore': 13369361},
'cdata': {'fore': 7667711},
'default': {'fore': 11581373},
'entity references': {'fore': 11581373},
'keywords': {'fore': 10091996},
'numbers': {'fore': 13625852},
'operators': {'fore': 7897997},
'strings': {'fore': 5546676},
'tags': {'fore': 7897997},
'variables': {'fore': 2721475}},
'IDL': {'UUIDs': {'fore': 0},
'commentdockeyword': {'fore': 0},
'commentdockeyworderror': {'fore': 2293759},
'globalclass': {'fore': 7632127},
'verbatim': {'fore': 0}},
'Java': {'UUIDs': {'fore': 0},
'commentdockeyword': {'fore': 0},
'commentdockeyworderror': {'fore': 2293759},
'globalclass': {'fore': 7632127},
'verbatim': {'fore': 0}},
'JavaScript': {'UUIDs': {'fore': 0},
'commentdockeyword': {'fore': 0},
'commentdockeyworderror': {'fore': 2293759},
'globalclass': {'fore': 7632127},
'verbatim': {'fore': 0}},
'PHP': {'attribute name': {'fore': 16428914},
'attribute value': {'fore': 13676752},
'bracehighlight': {'back': 5197568},
'identifiers': {'fore': 10091996},
'keywords': {'fore': 11140834},
'operators': {'fore': 39423},
'strings': {'fore': 15523820},
'tags': {'fore': 39423},
'variables': {'fore': 15838576}},
'Perl': {'here documents': {'bold': 1, 'fore': 8183004}},
'Python': {'identifiers': {'fore': 7897997}, 'keywords2': {'fore': 11581373}},
'Regex': {'charclass': {'fore': 10092543, 'italic': 1},
'charescape': {'fore': 12303104, 'italic': 1},
'charset_operator': {'fore': 8372175, 'size': 12},
'comment': {'fore': 12303291, 'italic': 1},
'default': {},
'eol': {},
'groupref': {'fore': 10092543, 'italic': 1},
'grouptag': {'fore': 8372175, 'size': 8},
'match_highlight': {'back': 6908265},
'operator': {'fore': 8372175, 'size': 12},
'quantifier': {'bold': 1, 'fore': 10092543, 'size': 12},
'special': {'bold': 1, 'fore': 10092543},
'text': {}},
'XML': {'cdata': {'fore': 7667711},
'cdata content': {'fore': 7632127},
'cdata tags': {'fore': 7667711},
'data': {'fore': 14474353},
'declarations': {'fore': 13418403},
'entity references': {'fore': 14474353},
'pi content': {'fore': 7632127},
'pi tags': {'fore': 7667711},
'prolog': {'fore': 0},
'xpath attributes': {'fore': 7667711},
'xpath content': {'fore': 16741120},
'xpath tags': {'fore': 16777204}}}

MiscLanguageSettings = {}

Colors = {'activeBreakpointColor': 526573,
'bookmarkColor': 13434879,
'callingLineColor': 16776960,
'caretFore': 16777215,
'caretLineBack': 3355443,
'currentLineColor': 16777011,
'edgeColor': 3355443,
'foldMarginColor': None,
'pendingBreakpointColor': 569096,
'selBack': 6238471,
'selFore': 65535,
'whitespaceColor': 16777215}

Indicators = {'find_highlighting': {'alpha': 100,
'color': 1110271,
'draw_underneath': True,
'style': 7},
'linter_error': {'alpha': 100,
'color': 255,
'draw_underneath': True,
'style': 1},
'linter_warning': {'alpha': 100,
'color': 32768,
'draw_underneath': True,
'style': 1},
'soft_characters': {'alpha': 100,
'color': 13209,
'draw_underneath': False,
'style': 6},
'tabstop_current': {'alpha': 100,
'color': 3355647,
'draw_underneath': True,
'style': 7},
'tabstop_pending': {'alpha': 100,
'color': 16751001,
'draw_underneath': True,
'style': 6},
'tag_matching': {'alpha': 100,
'color': 33023,
'draw_underneath': True,
'style': 7}}

Komodo Edit

I've been using Netbeans for Python for several releases now. Don't get me wrong, it's not a bad editor. The problem is that I've used Visual Studio which includes Intellisense. In Episode 50 of the Stack Overflow podcast Joel refereed to Intellisense as "crack" -- once developers try it they're hooked. After coding in Visual Basic, VB.NET, and then C# I can say it's a very nice feature.

But I'm writing python now (and playing house with Ruby). Python is a dynamic language. I threw all hope of code completion and automatically displaying method tooltips away.

Then I found Komodo Edit.

It isn't perfect, but it's good enough™, perhaps even the best there is for Python at the moment (though what's the rumor I hear about Visual Studio 2010 supporting python?).

Aside from the code completion support, Komodo Edit has some neat features...

The Toolbox
That's cool! Komodo Edit (KE from this point on) offers a Toolbox running vertically on the right part of the interface. IT allows you to create items in a tree-view format which can do things. Lots of things. Execute a shell script: Check! Open a URL: Check! Insert a custom code snippet: Check! I guarantee you'll find like 10 things to stick there the first time you use it.

For Django development for example I've added items to open...
http://localhost:8000
http://localhost:8000/admin
The project issue tracker
The mercurial repository page

And code snippets to...
Skeleton Admin model
mode_save method
Skeleton Model

Ctrl+R
I know this is available in other places, but it's amazing to see it as a default in KE. Ctrl+R will launch the command line. I probably find this particularly notable since back in 2001 I released a Windows utility "CmdHotKey" which did pretty much the exact same thing (except it was Windows-wide).

Project File Tree View
I was really surprised to see that KE shows a tree view of the folder structure of your project. I assumed that would only be available in the paid-for version (Komodo IDE).

Color Schemes
What's an editor that forces you to look at a white background and black text?

KE also supports other neat stuff that I didn't mention like recordable macros.

All-in-all it's a very feature-packed editor and for free.

But it has some quirks...

Sadly, it's not perfect.

If one is using the tree view showing the project folders, right-clicking and choosing "Add >" gives several options including:

  • New Folder...
  • New Live Folder...
This is really stupid. New Folder creates a project-only organizational unit which from what I can tell serves no actual purpose. New Live Folder creates an actual disk directory like you'd expect.

Another thing -- If you move or delete a file, perhaps with mercurial so the move changes are in the repository, KE will show the old and new file, but the old file will be marked read and you'll need to remove it form the project manually. It would be nicer if since it detected the change it would just remove it from the project.

  © Blogger template 'Minimalist G' by Ourblogtemplates.com 2008

Back to TOP