.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Kephra 3pm" .TH Kephra 3pm "2021-01-06" "perl v5.32.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Kephra \- crossplatform GUI\-Texteditor along Perl alike Paradigms .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& > kephra [] # start with files already open .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module install's a complete editor application with all its configs and documentation for your programming, web and text authoring. .SS "Philosophy" .IX Subsection "Philosophy" .IP "Main Goals" 3 .IX Item "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. .IP "In Depth" 3 .IX Item "In Depth" I know, I know, there are plenty text editors out there, even some really mighty \s-1IDE,\s0 but still no perfect solution for many programmers. So lets learn from Perl what it takes to build a tool thats powerful and fun to play with for hours and months. .RS 3 .IP "\(bu" 2 make a low entry barrier (usable like notepad) .IP "\(bu" 2 copy what people like and are used to and whats not inherently broken .IP "\(bu" 2 give choices (TimTowtdi) .RS 2 .IP "\(bu" 2 (e.g. deliver vi and emacs input style) .IP "\(bu" 2 usable with menu, contextmenu, bars, mouse combo, key combos, commands ... .IP "\(bu" 2 configure via dialog and yaml/conf files ... .RE .RS 2 .RE .IP "\(bu" 2 highly configurable / adaptable to personal preferences .IP "\(bu" 2 beauty / good integration on \s-1GUI,\s0 code and config level .IP "\(bu" 2 solve things with minimal effort (no bloat / minimal dependencies) .IP "\(bu" 2 still everything extendable by easy to write plugins .RE .RS 3 .Sp .Vb 5 \& 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. .Ve .RE .IP "Name" 3 .IX Item "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. Thats also a nice metaphor for an editor through which we give birth to programs, before they rise on their own. .IP "Details" 3 .IX Item "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: .RS 3 .IP "\(bu" 3 select menu items .IP "\(bu" 3 make kombinations of keystrokes .IP "\(bu" 3 point and click your way with the mouse .IP "\(bu" 3 type short edit commands .RE .RS 3 .RE .PP 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. .PP 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. .PP But many good tools are already on \s-1CPAN\s0 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. .PP Perl's second slogan is \*(L"Keep easy things easy and make hard things possible\*(R". To me it reads \*(L"Don't scare away the beginners and grow as you go\*(R". 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. .SS "Features" .IX Subsection "Features" Beside all the basic stuff that you would expect I listed here some features by category in main menu: .IP "File" 2 .IX Item "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 .IP "Editing" 2 .IX Item "Editing" unlimited undo with fast modes, replace (clipboard and selection), line edit functions, move line/selection, indenting, block formating, delete trailing space, comment, convert (case, space or indention) rectangular selection with mouse and keyboard, auto\- and braceindention .IP "Navigation" 2 .IX Item "Navigation" bracenav, blocknav, doc spanning bookmarks, goto last edit, last doc, rich search, incremental search, searchbar and search dialog .IP "Tools" 2 .IX Item "Tools" run script (integrated output panel), notepad panel, color picker .IP "Doc Property" 2 .IX Item "Doc Property" syntax mode, codepage, tab use, tab width, \s-1EOL,\s0 write protection .IP "View" 2 .IX Item "View" all app parts and margins can be switched on and off, syntaxhighlighting bracelight, ight margin, indention guide, caret line, line wrap, \s-1EOL\s0 marker, visible whitespace, changeable font .IP "Configs" 2 .IX Item "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 .Sp and some help texts to be opened as normal files .SH "ROADMAP" .IX Header "ROADMAP" .SS "Overview" .IX Subsection "Overview" Enduser Release 0.1 .PP .Vb 1 \& a very simple editor .Ve .PP Enduser Release 0.2 .PP .Vb 1 \& multiple documents, file session .Ve .PP Enduser Release 0.3 .PP .Vb 1 \& searchbar and more comfort .Ve .PP Enduser Release 0.4 .PP .Vb 3 \& This release was about getting the editor liquid or highly configurable. \& Its also about improvements in the user interface and of course the little \& things we missed. It also contains interpreter output panel and a notepad. .Ve .PP Enduser Release 0.5 .PP .Vb 3 \& This release is about getting Kephra into the \*(Aqreal\*(Aq world out there \& and adding feature that are most needed and removing most hindering barriers. \& Folding, encodings, printing, .... and lot of minor tools and more help. .Ve .PP Enduser Release 0.6 .PP .Vb 2 \& This release will be about extending Kephra internal extensions like a \& file brwoser, command line and tree lib as Plugin API. .Ve .PP Enduser Release 0.7 .PP .Vb 1 \& Introducing Syntaxmodes, for language sensitive data and functionions. .Ve .PP Enduser Release 0.8 .PP .Vb 1 \& more heavier stuff like debugger .Ve .SS "This Cycle" .IX Subsection "This Cycle" .IP "Testing 0.4.1 \- code folding" 2 .IX Item "Testing 0.4.1 - code folding" .PD 0 .IP "Testing 0.4.2 \- folding and \s-1GUI\s0 refined, movable tabs, 2 more tools, doc data" 2 .IX Item "Testing 0.4.2 - folding and GUI refined, movable tabs, 2 more tools, doc data" .IP "Testing 0.4.3 \- utf, marker, folding finished, 3 more tools, help links" 2 .IX Item "Testing 0.4.3 - utf, marker, folding finished, 3 more tools, help links" .IP "Testing 0.4.4 \- new mouse control, 2 more tools, updated docs" 2 .IX Item "Testing 0.4.4 - new mouse control, 2 more tools, updated docs" .IP "Testing 0.4.5 \- more encodings, local notepad" 2 .IX Item "Testing 0.4.5 - more encodings, local notepad" .IP "Testing 0.4.6 \- config dialog" 2 .IX Item "Testing 0.4.6 - config dialog" .IP "Stable 0.5 \- about dialog" 2 .IX Item "Stable 0.5 - about dialog" .PD .SH "SUPPORT" .IX Header "SUPPORT" Bugs should be reported via the \s-1CPAN\s0 bug tracker at .PP .PP For other issues, contact the author. .PP More info and resources you find on our sourceforge web page under: .PP .SH "ACKNOWLEDGMENTS" .IX Header "ACKNOWLEDGMENTS" .IP "\(bu" 4 Herbert Breunung (main author) .IP "\(bu" 4 Jens Neuwerk (author of icons, \s-1GUI\s0 advisor) .IP "\(bu" 4 Andreas Kaschner (linux and mac ports) .IP "\(bu" 4 Adam Kennedy (cpanification) .IP "\(bu" 4 Renee Bäcker (color picker) .IP "\(bu" 4 Fabrizio Regalli (typos) .IP "\(bu" 4 many more since we study other editors a lot and also the padre sources .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This Copyright applies only to the \*(L"Kephra\*(R" Perl software distribution, not the icons bundled within. .PP Copyright 2004 \- 2010 Herbert Breunung. .PP This program is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU GPL.\s0 .PP The full text of the license can be found in the \s-1LICENSE\s0 file included with this module.