The source code for Komodo Edit is now available on GitHub. It has been for a short while now but we never quite anounced it, as we’re still moving over parts of our codebase.
Komodo is a huge supporter of open source software, and we are proud to show that Komodo Edit has been open source for 7 years (since 2007) – licensed under the Mozilla Public License (MPL). Our code also makes use of many open source components, such as the Mozilla Firefox platform and Python runtime.
Note that for now our Komodo Edit GitHub repository is still mirroring an
existing Subversion repository, but soon all Komodo code will move away from Subversion, and the Komodo code-base will be purely under Git.
We’ve chosen to use Git over Subversion for these reasons:
- Speed Git is durn fast
- Distributed – developers can work (and commit) locally without having to connect back to a central repository. Commands run locally, rather than having to fetch from a centralized server
- Commands – with builtin commands like git stash and git commit –amend, it can be both clever and forgiving
- Branching – Git has lightweight branches with superior merging capabilities (though I admit newer Subversion releases are
catching up in the merging department)
- Fast – did I mention Git is durn fast?!
Now, with the good being said, we’d be remiss if we didn’t mention a few rough edges as well:
- Terminology – with words like origin and master, it seems to better fit in with a Star Wars movie, rather than source code control tools
- Command line syntax – git reset –hard HEAD~1 and git push origin master, you’d be forgiven if you banged your head on your first attempt at using GitAll in all, we’re pretty happy with the move to GitHub and look forward to using more Git in the future.
Komodo on GitHub
We have already moved many of our code repositories onto the GitHub page, such as:
- Abyss Skin – this is the code for the new dark skin (theme) in Komodo 8. Anyone wanting to create (or tweak) their own skin should take a look at this
- To-do Helper – adds a todo widget into the bottom Komodo pane that will display any todo markers left in your source code
- Side By Side Diffs – which provides an alternative diff viewer in Komodo that shows a side-by-side file comparison
- Wrap Text – wraps the editor selection with custom text. Easily enclose text within HTML tags or stringify a selection
- PHPDoc and JSDoc automatically creates javadoc style comments for functions and variables
- Incremental Numbering – inserts a number into a column selection, incrementing the number for every line
For a more complete overview of our repos, check out our GitHub Organization page
Git Functionality inside Komodo
What about Komodo itself – does it support Git?
Komodo IDE does indeed provide support for Git (but not Komodo Edit), showing the file status directly inside of the IDE and providing commands for common actions like clone, pull, add, remove, diff, revert, commit, log and push.
Here’s screenshots of the Open Files pane showing source code control status and the commit dialog ready to check in modified files:
Please let us know if there are more things you’d like to see in Komodo with regards to Git.