tke 2.9

Tke is a full-featured and Tcl/Tk-based source code editor. It supports syntax highlighting and auto-indentation for multiple languages. There's support for a Vim mode, code snippet and clipboard management, bookmarks and multiple cursors. Tke provides a tabbed interface with a file system sidebar. It's also NFS and lock aware, extensible per plugins, allows regex searching/replacing, has configurable menus, and allows unlimited undo/redo levels.

Tags tcl tk editor code-editor syntax-highlighting software-development developers
License GNU GPLv3
State stable

Recent Releases

2.915 Jan 2017 03:15 minor feature: Added support for `Move To Trash` in main menu and sidebar menus.. Added new `General/UseMoveToTrash` preference setting.. Added new `Plugins / Show Installed...` menu option to display the currently installed plugins and displays plugin documentation in an editing buffer when selected.. Added ability to include a `` file in a plugin directory which will be included in the displayed output when the `Plugins/Show Installed...` menu option is used.. Added bird's eye view panel per editing buffer.. Added new preference values to control the display of the bird's eye view panel.. Added theming support for command launcher.. Added CriticMarkup, MultiMarkdown, Awk, Assembly and Gherkin syntax support.. Added WebDAV support for remote file editing.. Added support for plugin preferences within the preference GUI (new Plugins preference panel).. Added `on_pref_load` and `on_pref_ui` plugin callback actions.. Added new `api::preferences` namespace and new plugin procedures within it for providing preference support to plugins.. Added `Appearance/CursorWidth` preference setting.. Added `Appearance/ExtraLineSpacing` preference setting.. Added `on_trash` plugin action.. Added `Help / Plugin Developer Guide` menu option.. Added author and author e-mail information to plugin detail output.. Minor improvements to default look of command launcher.. Added cut, copy and paste support to snippets editor in preferences GUI.. Moved snippet-related options in Editor preference panel to Snippets panel.. Improved readability of several panels in preferences UI.. Removing ability to edit preferences, menu bindings, snippets, emmet and sharing options in editing buffer (the preferences window is the only way to change these values now).. Removed `General/EditPreferencesUsingGUI` preference value.. Adding encryption of passwords in the remote save file.. Removed `Edit / Sharing` menu (settings sharing changes are done through the preferences UI now).. Removed "Show console" preference
2.822 Nov 2016 22:25 minor feature: Added ability to hide a tab via the tab's contextual menu.. Added ability to show/hide opened files in a directory within the sidebar contextual menu.. Added ability to hide a file via the sidebar contextual menu.. Added ability to show/hide all tabs in the `View / Tabs` menu.. Added ability to align current lines in both panes.. Added ability to synchronize dual pane scrolling.. Added remote file open, save, delete file/directory, rename file/directory and duplicate file features via FTP/SFTP.. Added saving remote connection information to the shared settings list.. Added `Emmet / Node Aliases` and `Emmet / Abbreviation Aliases` editors within the preferences GUI.. Added new Credits information to the About window.. Added support for use the mouse wheel for changing the tab view in the tabbar.. Added ability to perform search in the shortcuts table.. Added ability to edit snippets in preferences GUI.. Added ability to open selected files or toggle the disclosure of selected directories in the sidebar with the spacebar.. Added support for `d0` and `d ` Vim commands.. Added multicursor support for `dd`, `dw`, `d ` and `d0` Vim commands.. Added plugin API procedures for manipulating colors.. Added `lang` attribute to `api::get_info` plugin API.. Added new css_colorize plugin to highlight any color values found in CSS/HTML files.. Creating new `View / Panes` menu (moved `View / Merge Panes` menu to this new submenu).. Moved location of Emmet category within the preferences GUI.. Added check for Expect package in the installation script.. Small optimization to icon redrawing in tabbar.. Scrollbars in sidebar and editing buffers will pause for around 300 milliseconds before widening to avoid scrollbar flashing when the mouse quickly passes over a scrollbar.. Sidebar scrollbar is now persistently displayed.. Sidebar has been overhauled to be faster, be more responsive when scrolling, look better and be more theme-able.. Removed sidebar -treetype theme option.. Added theme
2.705 Oct 2016 15:05 minor feature: Added the ability to edit menu bindings within the new preferences GUI `Shortcuts` tab.. Added the ability to Control-click on a main menu item to immediately edit the shortcut for the menu option.. Added new `Export` file command to export Markdown as HTML/XHTML and/or performing snippet substitution at export time.. Added ability to open buffer tabs in the background (API change).. Added new `General/DefaultMarkdownExportExtension` preference value (this option is present in the `Advanced / General` GUI tab.. Added ability to share TKE settings data (emmet, favorites, command launcher, plugins, preferences, sessions, snippets, templates and themes) between multiple machines.. Added ability to connect TKE to the TkTest utility.. Added `Check for Update` button within the `General / Updates` preference tab for macOS and Linux platforms.. Added support for automatically highlighting mismatching brackets (programmable via preferences `Editor/HighlightMismatchingChars`).. Added `Find/Find Next Bracket Mismatch` and `Find/Find Previous Bracket Mismatch` menu options.. Added a new installation wizard to help users setup user application data.. Added new lower contrast themes from Ublime GitHub package (Anatomy of Grey, Starlight and Turn of the Century).. Enhanced the look of the `Open Recent` submenu.. Improved the look and feel of spinboxes within the UI (i.e., flatten, lower profile, easier to click up/down buttons).. Upgraded tablelist widget to the latest version (5.16).. Moved `Tools / Vim Mode` menu item to `Edit / Vim Mode`.. Removed `Tools` preference category from preference GUI.. Moved VimMode and ClipboardHistoryDepth items from the `Tools` preference tab to the `Editor` preference tab.. Removed menu separator between Jump menu items in the Find menu.. Renamed Editor preference GUI item `Highlight matching character` to `Automatically highlight matching bracket`.. Changed `tke` to `TKE` in about window.. Changed default theme from `Default` to `Monokai`.. Inc
2.607 Sep 2016 10:25 minor feature: Added new preferences GUI to replace file-based preference changes.. Added new `General/DisabledLanguages` preference item to limit the displayed languages in the menu and menubutton interface elements.. Added new `General/EditPreferencesUsingGUI` preference item to allow you to switch between using the preference GUI or editing buffer method of changing preferences.. Adding search capability to theme editor category table.. Adding ability to copy/paste theme editor settings between themes.. Adding full font selection in preferences UI.. Bitmap editor in theme editor can now create up to 32x32 icons.. Changed preference item `Appearance/EditorFontSize` to `Appearance/EditorFont`.. Changed preference item `Appearance/CommandLauncherEntryFontSize` to `Appearance/CommandLauncherEntryFont`.. Changed preference item `Appearance/CommandLauncherPreviewFontSize` to `Appearance/CommandLauncherPreviewFont`.. Adding preference images to theme editor so they can be customized.. General and Advanced preference data is now removed from session preferences.. Updated User Guide.. ing startup problems that could occur if code folding is disabled.. ing with using "default" as the name of a theme (changed to "Default").. ing with Vim modeline support when Vim mode is disabled.. ing Vim :e command when specified file does not exist.. ing potential with command launcher when changing sessions.. ing default preference loading when a session is.. ing session save file that could cause the wrong session name to be displayed when restarting.. ing with session preferences not being used on startup when a session was in use upon application exit.. ing theme export window drawing.
2.515 May 2016 03:16 minor feature: Adding syntax for ABAP, Clojure, Cuda, Delphi, DocBook, Forth, Go, Groovy, J, Jade, Julia, ManPage, MATLAB, R, Rust, SASS, SCSS, Verilog and VisualBasic.. Adding `endsnippet` keyword in snippet files for specifying end of snippet text which alleviates the need to precede snippet text with TAB characters (the old syntax is still supported, however).. Adding `Editing/SnippetFormatAfterInsert` preference item to control whether or not inserted snippet syntax should be automatically formatted to fit the surrounding code.. Adding Help menu item to view the Tips amp; Tricks website.. Adding support for `browsedir` Vim option.. Adding `General/DefaultFileBrowserDirectory` preference option.. Adding support for indentation-based code folding.. Adding support for multiple mixed languages.. Adding ability to embed C++ language into Markdown.. Adding `escapes` value to syntax file descriptor to indicate if the escape character ( ) should be treated as one or whether it is just another character.. Adding support for the backtick character (`) to be auto-completed.. Adding support for the backtick character to be auto-matched.. Adding h, backspace, left, l, space and right motion support for change, delete, and yank commands.. Adding Up, Down, Left and Right Vim commands.. Adding gu and gU Vim command support.. Adding TKE website link in About window.. Adding support for Markdown list, checkbox and blockquote preinsertion.. Modest performance improvement on initial file display.. Optimizing code indentation functionality.. Enhancing SystemVerilog indentation.. Changing the order of information in the About window to improve visibility of application-specific information from credit/support information.. Changing fold symbol to be larger and a different color to improve visibility of folded code.. Adding fourth parameter to advanced syntax callback procedures indicating if highlighting is a result of inserting a character.. Minor improvements to auto-indent and code folding perf
2.413 Apr 2016 04:25 minor feature: Adding support for XSLT, MySQL, SQL, VHDL, C, ActionScript, Objective-C, Eiffel, Cobol, D and OCaml syntax.. Adding new date-specific snippet variables/macros for finer control of date output.. Adding new -onshiftclick and -oncontrolclick options when adding gutter elements for added plugin click behaviors.. Adding ability to shift-click on a code folding symbol to fold/unfold all levels within block.. Adding support for 'zf' (when text is selected), zfnumj, zfnumk, and zd Vim commands in manual mode.. Adding support for 'zj' (jump to next folding) and zk (jump to previous folding) Vim commands.. Adding support for 'zA' (toggle all folds fully) Vim command.. Adding support for 'zi' (toggle all folds by one level) Vim command.. Adding support for 'zc' (one level of folding at the current insertion cursor) Vim command.. Adding support for 'zC' (all levels of folding at the current insertion cursor) Vim command.. Adding support for 'zo' (open one level of folding at the current insertion cursor) Vim command.. Adding support for 'zO' (open all levels of folding at the current insertion cursor) Vim command.. Adding support for 'zE' (delete all folds in the current editing buffer) Vim command.. Adding support for 'zv' (show the cursor if it is within a fold) Vim command.. Adding support for 'foldenable' Vim option.. Adding support for ' range fold', ' range fold', and ' range foldopen' Vim commands.. Enhancing View/Folding menu command set.. Adding support for CSS Emmet abbreviation syntax.. Adding support for custom Emmet node/abbreviations.. Adding syntax highlighting support for mixed syntax (i.e., HTML/Markdown, C/C++).. Adding support for embedded languages (ex., CSS within HTML).. Adding automatic code folding for embedded language start/end syntax.. Adding customizable theme color for background of embedded languages.. Adding bracket/quote match highlight when cursor is placed on a bracket/quote.. Adding Editor/HighlightMatchingChar preference for turning on/off br
2.313 Mar 2016 00:05 minor feature: Adding ipsum lorem plugin to insert placeholder text.. Adding plugin architecture support for adding version control system for difference views.. Adding indentation code folding support.. Adding Vim 'za', 'zR', 'zM' commands for code folding.. Adding CURRENT_TIME variable to snippets which returns HH:MM AM/PM output. Adding YAML, Erlang, Prolog, Scheme, Ada, Lisp, and Vala syntax language files.. Adding Emmet snippet support including new Edit / Emmet menu and Ctrl-E shortcut for expanding Emmet abbreviations.. Adding new Quiverly theme.. Left-clicking on a gutter no longer causes the current line to be selected.. Splitting syntax menu into multiple columns if the number of languages exceeds a given threshold.. Optimizing indentation support.. Added confirmation before deleting a template.. Improvements to text formatting with Edit / Paste and Format menu option.. Colorizing Markdown header text to help make it more readable.. Updates to User Guide.. Updates to translations.. ing Windows tkdnd DLL to use the 32-bit compatible version.. ing in marker menu display.. ing translation.. ing ctext::get_match_bracket when the specified index is not "insert".. ing ctext line numbering when elided lines are encountered.. ing switch/case/default and class/public/protected/private auto-indentation.. ing auto-indentation handling in several other cases.. ing with Split View indicator not displaying correctly.. ing where syntax menu checkmark was not being updated when language was changed from the command launcher.. ing where tabs were being removed when "Remove trailing spaces" preference was set to 1 which caused problems with parsing snippets.. ing snippet tab traversal.. ing HelpSystem comment parsing.. ing with the lower-right corner of editing buffers when the theme is changed.. ing with opening files on Mac OS X by using "Open With" or drag-and-drop file on TKE icon.. ing Greek, Japanese and Chinese (Traditional) translations.. ing with opening Mac documents via Finder
2.204 Feb 2016 22:05 minor feature: Added support for Vim modelines.. Added support for a subset of Vim :set commands.. Added De/ShowDiagnosticLogfileAtStartup preference option.. Added Editor/VimModelines preference option.. Added General/AutoChangeWorkingDirectory preference option.. Added Editor/RelativeLineNumbers preference option.. Added support for Tcl/Tk 8.6 when installing from install.tcl such that TKE will install without error if your system uses an 8.6.x version of Tcl/Tk.. Added checks for Tcllib, Tklib and tkdnd into install.tcl installation script.. Added gg Vim command. Added Space Vim command. Added BackSpace Vim command. Added new Chooser plugin that allows the user to select a color, font, directory or file(s) using a chooser window and copy the value to the clipboard.. Added fontchooser, tk_getOpenFile, tk_getSaveFile, tk_chooseDirectory and tk_chooseColor choosers to list of available plugin calls.. Added api::show_error for plugins to display error information.. Added api::reset_text_focus for plugins to set the text focus to last text widget that had focus.. Added ability to change line numbering between absolute and relative from the View menu.. Added support for ==, =G, gt;, # gt; gt; Vim commands.. Added support for :set shiftwidth=# Vim command.. Added support for vi., =i.. and gt;i. Vim commands.. Adding support for single quote matching using Vim command.. Adding TKE.docset package generation in development documentation.. Adding BIST UI for managing and deging regression runs in development mode.. Adding New File From Template menu option to sidebar directory contextual menus.. Adding -name option to api::file::add_file procedure for plugin developers this allows a new, empty tab to be added that has a pathname but no existing file. If the user saves the file, it will be created and named with the given name.. Added Lua and Scala language support.. Using Editor/SpacesPerTab preference value to adjust tabstop size in all editing buffers.. Allowing winfo calls fr
2.104 Jan 2016 23:25 minor feature: Delete /.tke/session.tkedat (you may also need to delete the /.tke/sessions directory if named sessions cause an ). Because some menu items have been moved/renamed, you may need to update your menu binding files if you have customized menu bindings.. Adding Edit / Cursor menu.. Adding Edit / Insert menu.. Adding Edit / Delete menu.. Adding Edit / Transform menu.. Adding New Window command to File menu.. Adding ability to add a new line below or above current line from Edit / Insert menu.. Adding ability to insert the contents of another file from Edit / Insert menu.. Adding ability to insert the output from a shell command from Edit / Insert menu.. Adding ability to delete current line from Edit / Delete menu.. Adding delete to/from cursor menu commands to Edit / Delete menu.. Adding delete number menu command to Edit / Delete menu.. Adding delete whitespace menu commands to Edit / Delete menu.. Adding Delete between character menu command to Edit / Delete menu.. Adding "Delete current word" Edit/Delete menu option.. Adding number and whitespace deleted text to clipboard.. Adding delete between character text to clipboard.. Adding Join Lines menu command to Edit / Transform menu.. Adding Bubble Up/Down menu command to Edit / Transform menu.. Adding Display Text Info menu command View menu.. Adding ability to join selected lines (even if lines are not contiguous).. Adding tabs,-activeforeground and tabs,-inactiveforeground settings to theme.. Adding Save Selection As... menu item to File menu.. Adding Jump To Line menu item to Find menu.. Adding Reload File menu item to File menu.. Adding Change Working Directory menu item to File menu.. Adding Toggle Case menu command to Edit / Transform menu.. Adding Lower Case menu command to Edit / Transform menu.. Adding Upper Case menu command to Edit / Transform menu.. Adding Title Case menu command to Edit / Transform menu.. Adding Move to First Line cursor menu command to Edit / Cursor menu.. Adding Move to Last Line curso
2.008 Dec 2015 04:25 minor feature: New theme editor that allows theming of the syntax highlighter colors, window/widget colors, reliefs, sizes, images and more. Includes the ability to export TKE theme packages and import both TKE theme packages and TextMate themes.. Adding new -p development mode command-line option to allow startup profiling.. Adding Sidebar/IgnoreBinaries preference option.. Adding support for deleting multiple directories or files in the sidebar at once.. Adding drag and drop support to sidebar and editing buffer in Windows.. Adding marker map in the text scrollbars.. Added Show/Hide Marker Map option in View menu.. Added View/ShowMarkerMap preference item for controlling startup state of the menu item.. Changed standard scrollbars to a new, more customizable minimal scrollbar.. Removed split view button from UI and added a tab menu option to split/merge the current tab file view.. Updates to all existing TKE themes with a new and improved look.. Performance improvements to editing buffer procedural calls.. Performance improvements to sidebar.. Removing Sidebar/IgnoreExecutables preference option.. Removing General/WindowTheme option.. Updating User Guide.. Updating and cleaning up development documentation.. Changing behavior of -s command-line option to not automatically create a new TKE window (using -s in conjunction with -n will accomplish this). Instead, if an existing TKE window is opened, the window will be switched to the specified session.. If the existing TKE window is not a saved session, TKE will now detect and prompt you to save the session before switching to a new session.. When a session is, it leaves the opened tabs opened in the editor.. Setting the default startup window size to be 800x600 (unless a session file exists to change it).. Changing the plugin grant dialog box with a custom dialog box to make its UI consistent with the rest of the application.. Disabling the render, changebar and markdown_colors plugins.. ing comments in preferences file.. ing profi
1.929 Sep 2015 14:05 minor feature:
1.801 Aug 2015 10:25 minor feature: Added Swift syntax. Added Copy Pathname command to sidebar contextual menus. Added support for Git in difference view. Adding ability to change the font size of any text or listbox widget using Control-+ or Control-- while hovering over the targetted widget. Adding many new Vim commands, including the following: :wq!, :wq., :wq!., :cq, ZQ, :r !., gf. n. N. , (with selection/visual mode), V, X., D. Added support for file/directory drag-and-drop on the sidebar and file/text drag-and-drop in the text editing area. Adding plugin support for on_rename, on_duplicate and on_delete events. Adding "Merge panes" command to View menu. Adding uncommenting support for block comments when the cursor is currently in one (via the "Toggle Comment menu command). Adding new "View/ShowFindInFileResultsInOtherPane" preference item. Adding TextMate transformation support to snippet syntax. Created Windows installer executable for TKE which will be available for stable releases only at this point. Adding ability to open file or expand/collapse directory with the Return key in the sidebar. Adding support for URIs in the command launcher. Removing Comment and Uncomment Text menu commands and replacing it with a single "Toggle Comment" command. Enhancing comment support to handle multicursors and single cursors (not just selected text). Restructuring some code in the search/replace proc and improving UI. Changing yellow to gold for current text highlight border color to help make things easier to see in light window themes. Enhancing vim search/replace to support i and I options. Removing visual highlight border and active border around selected file/directory in sidebar (UI cleanup). Adding missing cases for visual mode usage in Vim commands. Adding sidebar support for multi-row selections (allows for batching some sidebar operations). Changing api::sidebar::get_selected_index to api::sidebar::get_selected_indices. Changing file renaming to allow the file to be moved as well as rename
1.701 Jun 2015 06:25 major feature: Adding support for remembering directories in the Open Recent list Adding new Find/Show Selected Line Change menu option to display the last file version that modified the current line when in a file difference view. Added support for mouse-dragging the command launcher to a new position in the window and, optionally (via a preference setting), remembering the new position. Adding preference item to automatically display the difference view of a given file in the other pane by default. This provides side-by-side views of a file by default. Adding basic Vim macro support (keystroke recording and macro buffer insertion). Added new Aurora color theme. Added Java syntax support. Adding preference item to ignore executable files from the sidebar. Adding support for three indentation modes: none, auto (new mode that indents to the same level as the previous line), and smart (previous auto indentation mode). Adding support for viewing version log information when changing versions in the difference view control bar (includes preference item to control whether this information is shown or hidden when changing versions).
1.610 Apr 2015 21:05 major feature:
1.507 Mar 2015 22:05 major feature:
1.424 Dec 2014 06:25 minor feature: Adding new Check for Update menu option to allow in-app updates for Linux and Mac environments Adding preference option to check for updates on application startup Adding preference option to give users the choice of updating to stable or development releases. Adding 'ci' command to Vim (deletes all characters within the the characters that surround the insertion cursor). Adding support for single cursor Vim visual mode. Adding w and b Vim commands to move forward and backward by a single word. Adding cc and C Vim commands for changing a line. Adding yw and dw Vim commands for yanking and deleting one or more words. Adding ability to jump to a specific line using the #G Vim command. Adding Return and - Vim commands to move the next and previous first non-whitespace character in the line. Adding support for Vim command to jump to a specific column. Adding support for Vim command to change the case of the character at the current insertion cursor. Adding support for multi-word change support in Vim mode. Adding Vim support for saving a list of lines to a file. Adding H, M and L commands to Vim mode to move cursor to top, middle and bottom lines. Adding support for asterisk command in Vim mode to find thinnest occurrence of the current word. Updating to latest version of specl library Enhancing bracket completion to be more accurate. Changing p and P Vim command when pasting text that does not contain newlines. Updated User Guide documentation. Updated development documentation. Fixing issues with spaces in filenames when displaying them in an external browser. Fixing issue with syntax errors after using the Close Others tab menu option. Making the determination whether the current cursor is within a comment or string to be more accurate. Fixing bug with bracket completion when we are in a filetype that doesn t support bracket completion. Fixing support for word changing in multi-cursor mode. Fixing yy and dd Vim command behavior. Fix
1.312 Nov 2014 03:15 minor feature: Added new Notes plugin (menu-based note system) Adding Open Directory Files menu item in sidebar for directories Adding Revert current file in Mercurial plugin Adding preference item to control removing trailing whitespace on save Adding ability to match angled brackets Adding syntax highlighting support for CSS, JSON, Haml and Bash Adding single quote, double quote and bracket insertion around selected text Auto-completion of matching characters (single quote, double quote and all bracket types) Adding -n command-line option to open file in a new window Lots of plugin API enhancements Removed PaneOrientation preference item Adding ability to select items in command launcher with left mouse button Excluding files matching ignored file patterns from Find in File searching Lots of improvements for Windows users Improving performance of sidebar display Changing case-sensitivity buttons to check buttons for improved readability. Defaulting case-sensitivity check buttons to be case sensitive Fixing issue with syntax highlighting when pasting text Fixing issues with bracket and string auto-highlighting Fixing support for AllowTabScrolling preference item Fixing issue with tool not closing properly when buffers exist in tabs Fixing Mercurial plugin problems Fixing HTML indentation to ignore tags that are self-escaped Fixing various issues with handling whitespace in filenames Fixing issues with unindenting HTML and SystemVerilog-like syntaxes Fixing menu state handling for menus and tab popup menus Fixing syntax error when posting snippets menu Fixing search and replace when multiple matches exist in the same line Hiding console menu item if console is not supported on the platform
1.217 Aug 2014 02:02 minor feature: You can now mark a file or directory as a favorite which allows for easier file/directory opening and find in file functionality. New command launcher view which allows a selected item to display a preview. Adding preference items to control the command launcher. Adding initial support for gutters in the editor (no functionality currently uses this capability, however).