This module install's a complete editor application with all its configs and documentation for your
programming, web and text authoring.
Philosophy
Main Goals
A visually harmonic and beautiful, sparing and elegantly programed Editor, that helpes you with all
your daily tasks. It should be also able to operate in the way you prefer and be not afraid to try new
things.
In Depth
I know, I know, there are plenty text editors out there, even some really mighty IDE, but still no
perfect solution for many programmers. So lets learn from Perl what it takes to build a tool that's
powerful and fun to play with for hours and months.
• make a low entry barrier (usable like notepad)
• copy what people like and are used to and whats not inherently broken
• give choices (TimTowtdi)
• (e.g. deliver vi and emacs input style)
• usable with menu, contextmenu, bars, mouse combo, key combos, commands ...
• configure via dialog and yaml/conf files ...
• highly configurable / adaptable to personal preferences
• beauty / good integration on GUI, code and config level
• solve things with minimal effort (no bloat / minimal dependencies)
• still everything extendable by easy to write plugins
I believe strongly that there is much more possible with GUI editors
and text editors in general than we are used today. So I try to weave
fresh ideas wherever I can and design Kephra in a way, that every
programmer can alter and extend it easily. That can speed up progress
or at least makes Kephra more comfortable for you.
That is the plan, but we are currently not nearly that far.
Name
Especially from the last item derives the name, which is old egyptian and means something like heart.
Because true beauty and a harmonic synchronisation of all parts of the consciousness begins when your
heart awakens. Some call that true love. In egypt tradition this was symbolized with a rising sun (ra)
and the principle of this was pictured as a scarab beatle with wings. That's also a nice metaphor for
an editor through which we give birth to programs, before they rise on their own.
Details
I believe that Kephra's agenda is very similar to Perl's. Its common wisdom that freedom means not
only happiness but also life works most effective in freedom. So there should not only be more than
one way to write a program, but also more than one way use an editor. You could:
• select menu items
• make kombinations of keystrokes
• point and click your way with the mouse
• type short edit commands
So the question should not be vi or emacs, but how to combine the different strengths (command input
field and optional emacs-like keymap possibilities). Perl was also a combination of popular tools and
concepts into a single powerful language.
Though I don't want to just adopt what has proven to be mighty. There are a lot of tools (especially in
the graphical realm) that are still waiting to be discovered or aren't widely known. In Perl we write and
rewrite them faster and much more dense than in C or Java. Some function that help me every day a lot, I
written were in very few lines.
But many good tools are already on CPAN and Kephra should just be the glue and graphical layer to give
you the possibilities of these module to your fingertips in that form you prefer. This helpes also to
improve these modules, when they have more users that can give the authors feedback. It motivates the
community, when we can use our own tools and the perl ecosystem does not depend on outer software like
eclipse, even if it's sometimes useful.
Perl's second slogan is "Keep easy things easy and make hard things possible". To me it reads "Don't
scare away the beginners and grow as you go". And like Perl I want to handle the complex things with as
least effort as possible. From the beginning Kephra was a useful program and will continue so.
Features
Beside all the basic stuff that you would expect I listed here some features by category in main menu:
File
file sessions, history, simple templates, open all of a dir, insert, autosave by timer, save copy as,
rename, close all other, detection if file where changed elsewhere
Editing
unlimited undo with fast modes, replace (clipboard and selection), line edit functions, move
line/selection, indenting, block formatting, delete trailing space, comment, convert (case, space or
indention) rectangular selection with mouse and keyboard, auto- and braceindention
Navigation
bracenav, blocknav, doc spanning bookmarks, goto last edit, last doc, rich search, incremental search,
searchbar and search dialog
Tools
run script (integrated output panel), notepad panel, color picker
Doc Property
syntax mode, codepage, tab use, tab width, EOL, write protection
View
all app parts and margins can be switched on and off, syntaxhighlighting bracelight, ight margin,
indention guide, caret line, line wrap, EOL marker, visible whitespace, changeable font
Configs
config files to be opened through a menu: settings, all menus, commandID's, event binding, icon
binding, key binding, localisation (translate just one file to transelate the app), syntaxmodes
and some help texts to be opened as normal files