Release Notes

Stable Version 3.6 Released

A new stable release of TKE (3.6) is now available for download. This is first and foremost a bug fix release, but it is also one with a lot of small improvements made all around the application. The following is a list of improvements and changes made in this release. Enjoy!

New


  • Added support for function and variable syntax highlighting.
  • Added an uninstall script for Linux environments.
  • Added Terraform and TypeScript syntax highlighters.
  • Added `api::menu::get_value` API procedure which returns the current value of a checkbutton or radiobutton menu item.
  • Added advanced preference option to specify a default directory for exporting plugins.
  • Added support for using globbed file/directory names on the command-line for Windows users.
  • Added Plugins menu command to display the plugin source directory in the sidebar when in development mode.
  • Added `api::plugin::get_header_info` API function.
  • Added support for new plugin header fields: `display_name`, `website` and `category`.
  • Added the ability to clear the currently selected shortcut in the Shortcuts preference pane by hitting the `Delete` key.
  • Added copy (Control-c), cut (Control-x) and paste (Control-y) keyboard shortcuts to all entry, combobox and spinbox widgets.
  • Added support for changing the ordering display of files in the sidebar with the keyboard when manual ordering is enabled for a directory (Alt-Up/Down will move all selected files up/down, respectively).
  • Added preference option in Find panel that controls whether the find or find/replace panels are automatically closed when keyboard focus is given back to the editing buffer.
  • Added menu indicator in syntax menus when those menus display syntaxes using alphabetical categorization to help the user find the currently displayed syntax.
  • Added new `add_shortcut` and `open_glob` plugins.
  • Added support for setting a proxy server/port in the `Advanced` preferences panel.
  • Added ctext support for setting and hiding syntax highlighted with meta characters.

Changes

  • Changed the default font size of the command launcher text widget from 6 to 10 to improve readability.
  • Moved the text widget in the command launcher to be displayed below results to improve readability.
  • Updated built-in themes to provide color schemes for function/variable highlighting.
  • Updated all syntax descriptions to perform function and/or variable highlighting.
  • Minor UI improvements made to the About window.
  • Renamed `api::get_install_directory` to `api::get_plugin_source_directory`.
  • Renamed `api::get_plugin_directory` to `api::get_plugin_data_directory`.
  • Debug logfiles are no longer added to the recently opened list.
  • Improved command-line help information and formatting.
  • Enhanced macOS installation instructions to include the need for Tcl/Tk 8.6 installation.
  • Improved translation file checker.
  • Enhanced PluginHeader syntax description to allow the user to right-click on the category field value to change it to a different, supported value.
  • Improved plugin export facility to allow the user to change the version number (with combobox suggestions) and provide release notes.
  • Increased width of shortcuts search field.
  • Removed todo plugin items, markers, favorites and reference documents from the Shortcuts preferences menu.
  • Changed/Fixes keyboard traversal issues in the shortcuts preferences menu.
  • Improved the display of plugin names within the UI to improve readability.
  • Updated ptwidgets library.
  • Removed the strings `Windows`, `Unix` and `Emmet` from translations as they are proper names.
  • Improved automated translation utility.
  • Changed the session switcher and deletion submenus to display the current session.
  • Improved HTML display in application updater.
  • Removed support for watermark strings when creating plugin preference entry widgets.
  • Improved Markdown syntax highlighting to consider backslash characters as meta characters that can be hidden via the View menu.
  • Changed Markdown link syntax to treat the URL references as hideable text.
  • When a directory is added to the sidebar, it is now automatically selected and made visible.
  • Updated all copyright information to include 2019.
  • Enhanced e_menu and doctest plugins.
  • Updated translations.
  • Updated User Guide.
  • Updated Developer Guide.

Bug Fixes

  • Fixed missing/incorrect language reference document links in syntax definition files.
  • Fixed issue with left-clicking the mouse when Vim mode is disabled (UI updates were not occurring).
  • Fixed About window sizing issue on different platforms that could cause UI elements to not be displayed.
  • Fixed clipboard history issue where inserting from clipboard history did not update the order of elements in the clipboard history.
  • Fixed issues with creating a new directory from the sidebar using an absolute pathname.
  • Fixed sidebar issue where a newly created directory might not be immediately displayed.
  • Fixed potential issue with trashing a sidebar item.
  • Fixed issue with Linux installation script that can cause in-app updates to no longer work.
  • Fixed and improved code support for moving the cursor to the next or previous start/end of a word that could cause the application to crash.
  • Fixed issues with tab asterisk display when editing in non-Vim mode.
  • Fixed redo issue when it caused a line to be deleted.
  • Fixed issue when a tab is modified and the application is exited, TKE will not prompt the user if a save is needed.
  • Fixed issue with `Sort By` sidebar submenu activation status in Linux environments.
  • Fixed issues with using parenthesis in exact searches.
  • Fixed issue that could cause the `Todo` plugin to crash the application if a todo name contained colon characters.
  • Fixed issue with the shortcuts column width when a menu path exceeds the width of the preferences window.
  • Fixed permission issues with exporting themes/bundles.
  • Fixed issue where the editing buffer was disabled from editing after a find/replace operation took place.
  • Fixed issue where plugin I/O operations would not complete when the plugin called 'close' on a file channel.
  • Fixed issue where attempting to mark a blank line in a file would not display the mark (blank lines are no longer markable).
  • Fixed issue where a line being named with a mark could be cleared before the mark was named.
  • Fixed issue where a plugin preference pane required the dropdown menu to be selected twice before showing the panel.
  • Fixed keyboard focus issue in Shortcuts preference panel where after a shortcut was edited, the table wasn't receiving input focus.
  • Fixed issues where keyboard shortcuts were incorrectly activatable when keyboard focus is in a different window or widget.
  • Fixed issue where the find and find/replace panels could be displayed on top of each other (only one should be displayed at a time).
  • Fixed an issue calculating the plugin directory when exporting a file.
  • Fixed button width display issue in preference window when non-English translations are used.
  • Fixed initial startup wizard layout when non-English translations are used.
  • Fixed issues with the display of the syntax selection menu when they are sorted within alphabetic submens.
  • Fixed display issues with the `dir_popup`, `root_popup` and `file_popup` plugin actions.
  • Fixed issue where multiple startup windows could be displayed simultaneously.
  • Fixed issue where clicking on the window close button of the startup window did not exit the application.
  • Fixed issue where plugin header data could get stored incorrectly.
  • Fixed issues around using the tablelist widget in plugins.
  • Fixed issue where the `.` and `..` directory items on Linux and macOS could be displayed in the sidebar if the "Show hidden files" preference option was set.
  • Fixed display of cursor when a search panel was closed.
  • Fixed issue where changing snippet options in a named session was not allowing the preference changes to take effect.
  • Fixed cursor snippet insertion string in snippet editor insert menu.
  • Fixed issue with http downloader procedure on Windows.
  • Fixed issues with preference entry widgets not displaying their values and saving their values properly.
  • Fixed issues with sidebar menu plugins with submenus.
  • Fixed issues with theme exporter displaying an error message.
  • Fixed Markdown display issues with `Show Installed` plugin menu output by placing backslashes in front of Markdown characters that come from the plugin header where Markdown syntax is not supported.
  • Fixed PluginHeader syntax description to ignore hashtags that are not at the beginning of a line.
  • Fixed theming issues with the code editing widgets within the preferences window.
  • Fixed preference window display issue when the current panel is the plugins panel and we change the session/language menubutton value.
  • Fixed snippet parsing issue that would not allow snippet variables to be used in snippet shell commands.
  • Fixed issue where the sidebar did not show a newly added file to a directory.
  • Fixed issue where a global preference that was changed when we are in a named session did not cause that preference change to be immediately reflected in the tool.
  • Fixed issue with zipping themes/bundles in Windows.
  • Fixed issue where preferences were being saved to session preferences that should not be there.
  • Fixed issue where closing the preference window would incorrectly prompt the user to save to the session/global preferences.

Stable Version 3.5.2 Released

Well, right on the heels of the 3.5 stable release, we have a bug fix release to take care of a few nagging issues that were missed in the making of 3.5. The following notes show the changes:

New

  • Added ability to change search method used in `Find in Files` panel.
  • Added preference option to set default search method used in `Find in Files` panel.

Changes

  • Cleaning up Linux packaged contents.
  • Updated User Guide.

Bug Fixes

  • Fixed issue where the `Find in Files` search method for glob and exact wasn't working.
  • Fixed issue where the Plugins menu didn't open when developer mode was disabled.
  • Fixed issue where the Plugins menu showed incorrect menu items when developer mode was disabled after it was enabled.
  • Fixed drawing issue where only an untitled document is displayed and a file is immediately opened in the other pane.
  • Fixed application hang when the `Find in Files` pane is displayed and the application is exited.

Stable Version 3.5 Released

Well, after a little over a year, stable release 3.5 is finally released. We have done a ton of code cleanup, made some important and noticeable optimizations, improved the quality of the syntax highlighting, added a bunch of new features, included several new plugins to help speed up your workflow, and even updated the TKE icon.

The following is a listing of all of the changes that went into this version.

New

  • Added new plugins from Alex Plotnikov (doctest, e_menu, edit_utils, highlight_matches).
  • Added editorconfig plugin for automatic handling of .editorconfig files as well as providing syntax highlighting support for .editorconfig file syntax.
  • Added support for changing file encodings.
  • Added syntax support for Meson, Puppet and Squirrel.
  • Added preference option to keep information panel automatically in sync with sidebar selection.
  • Added preference option to control whether line numbers are left or right justified.
  • Added space between line numbers and gutter elements to help improve readability.
  • Added support for specifying additional information in the source files to help translators see where internationalized strings are located in the UI for contextual purposes.
  • Added snippet support for a CURRENT_DATE2 variable which is substituted with the date in the form of 2001/01/13.
  • Added new 'syntax' and 'is' commands to ctext namespace.
  • Added proper syntax highlighting support for triple-double/single/backtick quotes.
  • Added Valadoc to the list of references in the Vala syntax definition file.
  • Added support for triple-double/single/backtick quote auto-completion.
  • Added support for exporting and importing plugins to/from external sources.
  • When a TKE theme or plugin bundle is opened, TKE will automatically prompt the user if the file should be imported.
  • Added plugin support for exposing Tcl procedures to be called from other plugins.
  • Added plugin API procedures for checking the existence of a menu item, checking the state of a menu item and executing a menu item.
  • Added support for trashing files using `gio trash` if that tools exists on the system.
  • New application icons.
  • Added new mimetypes for TKE theme and plugin bundle files in Linux environments so that these files (when opened in a file browser) will automatically launch TKE and be prompted for import. Additionally, these filetypes will be displayed with their own icons.
  • Added support for regexp, glob and exact matching in Find and Find/Replace UI.
  • Added preference item in Find panel that allows the user to choose the default matching method on application startup.
  • Enhanced todo plugin to allow list and todo title to be edited as well as added the ability to delete all completed todos.
  • Added `Replace` button in the Find/Replace UI which will allow search matches to be replaced one at a time.
  • Added `View Emmet reference guide` option to the `Edit/Emmet` menu.
  • Added preference item in Sidebar panel that allows the user to set the default sidebar width to a given pixel width (includes the ability to set this value from the current sidebar width).

Changes

  • Upgraded tablelist widget to version 6.3.
  • Added installation instructions to README file.
  • Enhanced syntax description files.
  • Improved performance of syntax descriptions that use advanced syntax highlighting.
  • Improved syntax theming performance.
  • Theming improvements.
  • Removed Updates tab from preferences when running on Windows (known to cause bad things to happen and we do not currently support in-app Windows updates anyways).
  • Enhanced the number_converter plugin to change all found numbers within a selection to the specified number base.
  • Changed language preference table to display file patterns instead of extensions.
  • Improved translation support in source files.
  • Improved HTML-style rendering performance by an order of magnitude.
  • Improved HTML-style syntax highlighting quality.
  • Changed startup behavior when TKE is started up with a file or directory. It now adds it to the last session rather than replacing it.
  • Improved Markdown syntax handling.
  • If a file is loaded that will cause an issue with syntax highlighting (i.e., a file contains a line which exceeds 8K characters), syntax highlighting will not be applied to the file.
  • Removed plugin api::invoke_menu procedure (replace with api::menu::invoke).
  • Changed api::get_user_input to display a value in the entry field if the passed variable contains a value.
  • Updated Find and Find/Replace UI.
  • Improved application startup time when a TKE session contains files whose language type was manually changed in a previous session.
  • Made the background color of current matched item different from other matched items to improve their control.
  • Removed menu items that are preceded by whitespace from the shortcuts preference table.
  • When Find, Find/Replace, Find in Files or Document Search panels are displayed, don't disable the rest of the UI.
  • Updated user guide
  • Updated development guide

Bug Fixes

  • Fixed error caused when a file is not able to be written.
  • Fixed translation issues with German translation (thanks to Joachim Moskalewski).
  • Fixed issues with all translations that caused TKE to not start.
  • Fixed issue where the file modified indicator was not being cleared when undoing the last change since the file was saved/loaded.
  • Fixed bug when a non-existent filename is used to lookup the EOL character when in auto mode.
  • Fixed theming issue when editor scrollbar background color does not match editor background color.
  • Fixed theming issue with text scrollbars.
  • Fixed an undo issues that could cause unexpected results.
  • Fixed the positioning of the warning width indicator when the font/font size was changed.
  • Fixed issue with bubbling selected lines up/down.
  • Fixed issues with the automated translator to eliminate bad translation files that can cause the application to crash on start.
  • Fixed syntax highlighting issues with embedded languages.
  • If the -n option is specified on the command-line, the opened files list, window geometry and command launcher information is loaded from the previous session.
  • Fixed issue with finding symbols with the command launcher.
  • Fixed issue with importing a theme that already exists in the user's themes directory.
  • Fixed default syntax highlighting to be used for tclIndex files.
  • Fixed pattern matching issue in the default syntax language lookup.
  • Fixed ipanel display issue in regards to file type.
  • Fixed issue with default file browser directory handling when application was relaunched.
  • Fixed combobox theming to always be a white background with black text to improve readability.
  • Fixed line number selection issue where text was selected when the gutter was clicked.
  • Fixed issue with find/replace GUI that kept text from being replaced.
  • Fixed issue with syntax highlighting Markdown highlight syntax (i.e., ::foobar::).
  • Fixed current\_line plugin to not display over text that has background colors set.
  • Fixed error in preferences search menu.
  • Fixed selection issues with sentences and paragraphs.
  • Fixed issues with todo plugin that caused it to not remember tasks between TKE sessions.
  • Fixed issues where the language of the current tab was not set correctly.
  • Fixed issues with `Edit/Cursors/Move cursor to next/previous` functionality.
  • Fixed menu state issues with `Add next/previous lines to selection` when a selection did not exist.
  • Fixed issue with moving multicursors up/down via the menu command.
  • Fixed issue with jumping to a matching bracket when the operation is performed in a file that does not handle brackets.
  • Fixed issues with calling a plugin syntax highlighter procedure.
  • Fixed issue with a sorted directory in the sidebar which has files deleted from the directory.
  • Fixed various issues related to setting shortcuts when using a non-English translation.
  • Fixed potential issue with multicursors disappearing when certain keys are pressed.
  • Fixed issue with displaying menu items that are used as separators in the shortcuts preference table.
  • Fixed issue with removing menu bindings.
  • Fixed issue with menu bindings associated with plugin-generated menu items not be applied/removed properly when a plugin is installed, uninstalled or reloaded.
  • Fixed issues that kept plugin files from being properly detected by the syntax highlighter.
  • Fixed issue that could cause some regular expression highlighting to be suppressed.
  • Fixed issues that kept some syntax highlighted when the syntax was changed.
  • Fixed issues that caused the ctext internal data to not be deleted when a tab is closed.
  • Fixed issue with traversing documentation search history.
  • Fixed issue with not displaying correct information in message area of information bar.

Stable Version 3.4 Released

Stable version 3.4 has now been released. A brand new method of selecting text is in this release which allows you to make fine-grained selections using only the keyboard. The new selection mode packs more power than even Vim visual mode, so make sure to read about it in the User Guide and start trying it out. We also enhanced drag and drop support, included a few more handy plugins, and fixed a bunch of bugs.

Here's a full list of the new features, changes and bug fixes available in this release.

New:

  • Added new keyboard-centric, fine-grain controlled selection mode (enabled through new `Edit / Select Mode` menu option).
  • Added ability to select a sentence with mouse by holding down Control while double-clicking the sentence.
  • Added ability to select a paragraph with mouse by holding down Control while triple-clicking the paragraph.
  • Added ability to select the text between a matching set of curly brackets, square brackets, parenthesis, angled brackets, double quotes, single quotes, backtick or comment characters by holding down the Shift and Control keys while double-clicking on any character between the surrounding characters.
  • Added ability to select an HTML/XML node by holding down the Shift and Control keys while triple clicking any character within the node.
  • Added ability to right-click on checkboxes in Markdown and MultiMarkdown to toggle their completion status.
  • Added PluginTcl and PluginHeader syntax support which performs syntax features for TKE plugin Tcl and header code.
  • Added plugin framework support for new `on_drop` plugin action.
  • Added new `number_converter` plugin to allow converting numbers to other bases.
  • Added new `markdown_drop` plugin to support proper drag-and-drop of images and URLs in Markdown files.
  • Added `wmarkentry` and `tabbar` widgets to list of widgets available to be used within a plugin.
  • Added new `api::file::all_indices` plugin API call.
  • Added plugin framework support for new `on_theme_changed` plugin action.
  • Added enhancements to bubble up/down functionality where we will now bubble by sentence, paragraph or HTML node if one of these types is selected.
  • Added new `Edit / Select` menu which contains some menu shortcuts of some commonly used selection mode macros. These primarily exist to help in compatibility with other text editors.
  • Added ability within the theme bitmap editor to move, flip, rotate and export the image.
  • Added new `tab_activeclose` image to theming engine which will allow the theme to change the image used for the tabbar close buttons when a close button becomes active.
  • Added ability to change the reading time words per minute value within the preference's `Sidebar / Info Panel` pane.
  • Added ability to drag a file/directory from the sidebar to an external application.
  • Added support to the message area in the status bar to display content on a per editing buffer basis.
  • Added link and image formatting options to `Edit / Format` submenu.
  • Added ability to drag and drop URLs into an editing buffer that supports link formatting and automatically convert the URL to a link.
  • Added ability to drag and drop image files into an editing buffer that supports image formatting and automatically convert the file into image markup.
  • Added ability to drag and drop text/files into the user response field and the `In` entry field in the `Find in Files` panel.
  • Added ability to drag files out of the sidebar (these files can be copied, moved or linked to by external applications).
  • Added support for inserting dropped text/files in an editing buffer with multicursors enabled.
  • Added new `readmeta` syntax class which can be added to text that can be shown/hidden but can be given a more readable color than other meta syntax.
  • Added date support to themes and added display of theme date to theme manager table in preferences.
  • Added ability to drag a file into the license entry field in the theme editor export window.
  • Added ability to drag a website URL into the website entry field in the theme editor export window.
  • Added ability to drag a directory into the output directory entry field in the theme editor export window.
  • Added `api::theme::get_value` plugin API procedure.

Changes:

  • Added name of tag that was clicked to callback procedure when a syntax click event occurs.
  • Improved performance and accuracy of line number drawing when editing a document.
  • Auto-syntax determination algorithm is enhanced to find a best match based on matching pattern length.
  • If the `api::file::get_info` plugin API is called requesting the txt attribute the plugin architecture will allow the returned value to be used as a command.
  • Added `Directory` file type to information panel if directory information is being displayed.
  • If the `api::show_info` plugin API is called with a clear delay value set to 0, the message will be displayed indefinitely.
  • Changed `api::file::current_file_index` to `api::file::current_index`.
  • Removed `<>` virtual event support for text bindings.
  • Improved bitmap parser.
  • Changed block selection method with mouse to use just the Alt/Option modifier instead of Shift-Alt/Shift-Option modifiers.
  • Added an extra pixel of width and height to the close button used throughout the UI.
  • Adding syntax support for true/false keywords in Vala syntax.
  • Changed sentence motions to be comment block aware.
  • Changed cursor used in sidebar when moving/reordering files to indicate a move is occurring.
  • Increased width of search field in the preferences window.
  • Improved Markdown Table Beautifier plugin to correctly handle multi-column cells.
  • Changed formatting descriptors in syntax description files to use templates.
  • Changed how bottom panels are implemented which allow limited sidebar functionality, including drag and drop support while the panel is displayed.
  • Changed wording of text formatting options within the command launcher.
  • Improved text formatter to properly handle newlines within the format syntax (applying auto-indentation on insertion, if applicable).
  • Improved `current_line` plugin to colorize the current line when we enter embedded syntax areas.
  • Including embedded references to the `Language Reference` submenu and documentation search.
  • Updated and improved all themes.
  • Updated User Guide.
  • Updated Developer Guide.
  • Updated translations.

Bug Fixes:

  • Fixed syntax highlighting issue in Markdown syntax.
  • Fixed apostrophe issue when creating specl release notes that could cause upload issues and character problems in user upgrade notes.
  • Fixed syntax highlighting issue with mixed syntaxes.
  • Fixed drag-and-drop support for 64-bit Windows.
  • Fixed issues where a Tcl error occurs during application exit that would keep the application from exiting.
  • Fixed issue with using tokenentry widget within a plugin.
  • Fixed issue with copying information panel values to the clipboard.
  • Fixed issues when code folding is disabled.
  • Fixed issues where Edit menu commands were not directed to the proper editing buffer when split view was enabled.
  • Fixed development API documentation to remove backslash characters in API procedure names.
  • Fixed plugin preference table widgets to allow the Add and Delete buttons to be not hidden by help documentation.
  • Fixed URLs for the PTWidgets documentation within the Developer Guide packages section.
  • Fixed issue where a tab is selected in the tabbar and the close button disappears while the cursor remains in the tab space.
  • Fixed issue where importing a bitmap would not cause updates to the theme editor.
  • Fixed issue with selecting the topmost paragraph that would cause the application to hang.
  • Fixed issue with selecting an outer paragraph range.
  • Fixed issue where a line would not properly wrap if there was a previous undo/redo operation performed on the line.
  • Fixed potential syntax highlighting issue when an undo/redo is performed.
  • Fixed issue where split view and bird's eye view were not changed properly when the theme is changed.
  • Fixed issue with importing and exporting a .tkethemz theme file within Windows.
  • Fixed issue with using drag and drop on macOS systems that don't have tkdnd installed on them.
  • Fixed issue with loading a locked file upon session start.
  • Fixed issue when installing a plugin with preferences which required an application restart.
  • Fixed drag and drop built-in support for macOS when TkDND is not previously installed.
  • Fixed GenericName attribute in the generated tke.desktop file.
  • Fixed translation issues with table header text in preference panels.
  • Fixed default theme colors for remote file viewer window.
  • Fixed issue when the license file `Browse...` button is clicked in the theme editor export window when text exists in the field.

Stable Version 3.3 Released

Stable version 3.3 has now been released. A new information panel containing various file/directory information is now available from the sidebar. Manual sorting of items within a directory in the sidebar is now supported. Added a few new plugins and made several enhancements and fixes to the plugin API. Of course, the usual round of bug fixes and other enhancements have been made.

Here's a full list of the new features, changes and bug fixes available in this release.

New:

  • Added new sidebar info panel in sidebar which can display image thumbnails, image size, file size, file permissions, file owner, file group, modification date, version control current version, line count, word count, character count, average reading time, MD5 checksum, SHA-1/224/256 hash values and favorited status for both files and directories.
  • Added plugin support for adding information to the sidebar info panel about a file or directory.
  • Added ability to theme the sidebar info panel in the theme editor.
  • Added preference item to make the sidebar info panel remain in view when the sidebar loses keyboard focus.
  • Added preference item to determine which information is displayed in the sidebar info panel.
  • Added new `get_current_version` method requirement for version control tooling.
  • Added new calendar plugin for inserting mini calendars into document.
  • Added preference option to show/hide hidden files in the sidebar.
  • Added Uncolorize menu option to the CSS Colorizer plugin.
  • Added Markdown syntax support for **::**_highlight_**::** and **||**_strikethrough_**||** syntax.
  • Added ability to close a file from the sidebar by hitting the Backspace key when the targetted file is selected.
  • Added ability to manually sort the contents of a directory or move files/directories to a different directory within the sidebar via drag-and-drop.
  • Added new `api::sidebar::set_info` API procedure.
  • Added new `publish_markdown` plugin which can be used to generate the User Guide and Developer Guide without the need for third party applications.
  • Added API support for new color picker, table and help preference widgets.
  • Added new `api::export` plugin call which allows plugins to use the built-in export capability on custom text.
  • Added ability to theme the scrollbars that are used alongside ttk-style widgets.

Changes:

  • Updated Tcl reference documents to use version 8.6 instead of version 8.5.
  • Upgraded Tablelist widget from 5.17 to 5.18.
  • Updated some of the built-in themes to make the new file information panel look better than the default look.
  • Improved Tcl syntax highlighting.
  • Made tk::PlaceWindow, tk::SetFocusGrab, tk::RestoreFocusGrab and tkwait commands callable from within plugin code.
  • Changing default shortcut for `Edit / Select All` menu option from Command-A/Control-A to Shift-Command-A/Shift-Control-A.
  • Refactored main Vim control logic for improved performance.
  • Themed the indentation, syntax and sidebar menus.
  • Changed behavior of Markdown/MultiMarkdown to insert blank line when hitting enter on a list item line that contains no content.
  • Removed `Edit / Delete` submenu.
  • Added syntax highlighting for Markdown and MultiMarkdown quoted text.
  • Added formatting to DocBook syntax.
  • Improved syntax highlighting in DocBook syntax.
  • Enhanced `api::sidebar::get_info` API procedure to include attribute values of is\_dir, is\_open, parent, children and sortby.
  • Added `-height` option to API preference text widget options set.
  • Removed support for Ulysses in managing documentation since we will no longer being using this utility for development purposes.
  • Changing plugin preference panes to allow scrolling of preferences within the pane.
  • Integrated new `-help` option into several plugin widgets to optionally associate help information into the widget display.
  • Changed out all ttk-style scrollbars with custom scrollbar for UI consistency and scrollbar minimalism.
  • Changed About window "Credits" text font to match the rest of the window.
  • Cleaned up various UI elements within the remote file and font chooser dialog windows.
  • Updated translations.
  • Updated User Guide.
  • Updated Developer Guide.
  • Improved the look of code examples within the Developer Guide.

Bug Fixes:

  • Fixed sidebar issue on Windows where files would be duplicated within a folder when folders at top preference item is enabled.
  • Fixed issue with displaying URLs from with TKE to a web browser on Windows.
  • Fixed issues with incorrect images being rendered in the User Guide and Developer Guide.
  • Fixed issue with using colon character in snippet regexp patterns.
  • Fixed issue with escaping forward slash characters in snippet syntax.
  • Fixed issue with right-clicking ctext clickable text for macOS platform.
  • Fixed issues with sidebar and tab popup menus not conforming to the chosen theme.
  • Fixed issues with various themes to help make menus more readable.
  • Fixed issue with Untitled tabs causing unexpected sidebar behavior.
  • Fixed issue where multicursors disappeared when Escape was entered after inserting text.
  • Fixed issue with menu theming on macOS.
  • Fixed CSS Colorizer plugin documentation.
  • Fixed line-spacing issues between displayed lines that are line-wrapped.
  • Fixed syntax issues with URL validator plugin README file.
  • Fixed issue where meta characters were not being colorized properly.
  • Fixed translation issue for tooltips in find panel.
  • Fixed issue that could cause tooltips to not be displayed.
  • Fixed issue in theme editor that caused image colors based on swatches to not get updated when the associated swatch color is changed.
  • Fixed issue where calling `api::preference::get_value` from plugin code would cause syntax error.
  • Fixed plugin issue for Tk widgets that contain `-variable` or `-textvariable` options where variables were not being updated to match widget.
  • Fixed issue where text widgets in plugin preferences would not properly save text changes made to them.
  • Fixed various issues with using Tk widgets in plugins that called command code.
  • Fixed issue within About Credits text area that could allow the user to edit the text found in that window.
  • Fixed issues with exporting on Windows.

Stable Version 3.2 Released

Stable version 3.2 has now been released. The required Tcl/Tk version has been updated from 8.5 to 8.6. Full Emmet action support has been added for CSS syntaxes. Vim selection/operation motion support has now been added.

Important Note: If you are upgrading TKE on a Linux machine, it is recommended that you update TKE by downloading the tarball and using the installation script rather than use the "Help / Check for Update" menu option.

Here's a full list of the new features, changes and bug fixes available in this release.

New:

  • Added Vim support for all object selection/operation motions (i.e., `iw`, `a{`, etc.).
  • Added `Select Next/Previous Item` Emmet support for CSS.
  • Added `Toggle Comment` Emmet support for CSS.
  • Added `Update Image Size` Emmet support for CSS.
  • Added `Encode/Decode Image to Data:URL` Emmet support for CSS.
  • Added `Reflect CSS Value` Emmet support.
  • Added tkcon package to TKE installation bundle for enhanced console support on all platforms without requiring external installations.
  • Added support for Stylus, LaTeX, IDL, Elixir, MathML and Boo syntax.
  • Added new `Markdown Table Beautifier` plugin.
  • Added ability to specify increment/decrement value for enumeration insertion.

Changes:

  • Updated macOS Tcl/Tk version to 8.6.6.
  • Updated Linux installation to use Tcl/Tk 8.6.
  • Added View preference option to display a hierarchical syntax menu.
  • Changed undo behavior when the Return key is pressed and Vim mode is disabled.
  • When line wrapping is enabled, lines will now wrap at the column ruler (if one exists and is in view) instead of wrapping at the editing buffer edges.
  • Added support for a persistent search bar with next/previous search buttons.
  • Small enhancements to current_line plugin.
  • Changed the enumeration insertion to not include the b, o, d, x or h characters that immediately preceed the starting value in the inserted text.
  • Updated User Guide.
  • Updated Developer Guide.

Bug Fixes:

  • Fixed HTML automatic syntax detector.
  • Fixed hidden syntax error when a tab is closed by clicking the `X` button.
  • Fixed issue with displaying favorited files/directories that do not exist on the current filesystem.
  • Fixed potential issues with undo functionality.
  • Fixed syntax highlighting issues with Markdown and MultiMarkdown syntaxes.
  • Fixed menu state handling of Emmet `Toggle Comment` and `Select Next/Previous Item` menu options.
  • Fixed syntax issue with `code_view` plugin.
  • Fixed issue with using Vim up/down motions when line wrapping is enabled.
  • Fixed issue of opening a non-existent file from the command-line.
  • Fixed state of `Show in Sidebar` menu when the associated tab's file does not exist in the file system.
  • Fixed case-sensitivity handling for text searches.

Stable Version 3.1 Released

Stable version 3.1 has now been released. Vim support has been overhauled and greatly improved. Full Emmet action support has been added for HTML/XML syntaxes.

Feel free to update the application through the "Help / Check for Update" menu option or download your copy from our website. Also feel free to leave a review on our SourceForge page if you enjoy using TKE.

Here's a full list of the new features, changes and bug fixes available in this release.

New:

  • Added session memory for bird's eye view and split screen state.
  • Added support for Doxyfile, Elm, Kotlin and Nim syntaxes.
  • Added more customizable theme elements.
  • Added support for `g_`, `g0`, `g^`, `g$`, `ge`, `gm`, `_`, `+`, `e`, `E`, `W`, `B`, `gE`, `(`, `)`, `{` and `}` Vim motions.
  • Added support for `g?` Vim commands (generating rot13 values for text).
  • Added support for `gv` Vim command.
  • Added support for `@:` Vim command.
  • Added support for extended `vv` Vim command to enable visual block mode.
  • Added BIST filtering function to view All, Passing or Failing tests.
  • Added support for Emmet `Wrap With Abbreviation` action.
  • Added support for Emmet `Balance Outward` and `Balance Inward` actions.
  • Added support for Emmet `Go to Matching Pair` action.
  • Added support for Emmet `Next/Previous Edit Point` action.
  • Added support for Emmet `Select Next/Previous Item` action.
  • Added support for Emmet `Toggle Comment` action.
  • Added support for Emmet `Split/Join Tag` action.
  • Added support for Emmet `Remove Tag` action.
  • Added support for Emmet `Update Image Size` action.
  • Added support for Emmet `Increment/Decrement Number` actions.
  • Added support for Emmet `Encode/Decode Image from Data:URL` action.
  • Added support for CSS variable syntax highlighting.
  • Added new `browser_me` plugin which adds an item to the sidebar file contextual menu which will allow HTML and image files to be displayed within an external browser.
  • Added support for TkCon console for environments that have it installed (defaults to Tk console if TkCon is not found).
  • Added new api::edit namespace which contains procedures used for properly editing a buffer from plugin code.

Changes:

  • Improved Vim code base.
  • When multicursor motion mode is entered in Vim mode, the standard insertion cursor disappears and the multicursors will take on the look of the standard insertion cursor.
  • When multicursor motion mode is entered, the status bar will reflect the MULTIMOVE mode.
  • Allowing more than one Untitled tab to exist in the tabbar concurrently.
  • Completed support for all supported Vim motions to work with deleting, changing, yanking, text transforming, shifting and formatting Vim operations.
  • When `V` is entered in visual line mode, returns the mode to command mode.
  • When `v` is entered in visual block mode, returns the mode to command mode.
  • If a line number range is not specified in substitute command, selection range is used or the full document is used if the selection is not specified.
  • Added Emmet reference documentation to CSS, HTML and XML syntaxes.
  • Added Javascript syntax highlighting of `document` keyword.
  • Added syntax highlighting to URLs within syntax files.
  • Added ability to specify a count value when using the `.` Vim command.
  • Small enhancements to CSS syntax highlighting.
  • Adding option for macOS that should render cleaner fonts on high resolution displays.
  • Moving Window menu on macOS before Help menu.
  • Adding JSON embeded syntax in JavaScript.
  • Adding JSON key highlighting.
  • Adding syntax highlighting of XML/HTML tags in JavaScript.
  • Enhanced the XML syntax tag highlighter.
  • Improved performance of HTML highlighter.
  • Improved automatic embedded background color when importing TextMate themes.
  • Lots of BIST enhancements.
  • Updating User Guide.
  • Updating Developer Guide.

Bug Fixes:

  • Fixed issue with initializing file view to the same state when the application was exited.
  • Fixed potential highlighting issues with undo/redo.
  • Fixed issue allowing colon Vim command to be executed when in Vim mode.
  • Fixed issue when preference font selection buttons are clicked.
  • Fixed several issues with operations working properly when text is selected.
  • Fixed issue with the line number gutter display when fonts were changed.
  • Fixed CSS syntax highlighting for color values.
  • Fixed support for embedded CSS highlighting when a plain `style` HTML attribute is used.
  • Fixed Emmet `label` abbreviation expansion.
  • Fixed block selection if mouse cursor position is less than the anchor position.
  • Fixed status bar update issue when Vim mode was changed in some states.
  • Fixed issue with markers being synchronized between split views.
  • Fixed issue with deleting with `D` Vim command.
  • Fixed issues with using Shift key in menu bindings.
  • Fixed potential issue with syntax highlighting when undo is used.
  • Fixed issue where a plugin that was installed and then reloaded in the same session was uninstalled after the reload.
  • Fixed issue where opened files would not be highlighted in the sidebar on application start.
  • Fixed issue where closing a tab with modifications and responding with the `Cancel` button would still close the tab.
  • Fixed issues with title case functionality.

Stable Version 3.0 Released

Stable version 3.0 has now been released. This is by far and away the largest single release of TKE to date. This version focused on fixing bugs, improving code base for performance and maintenance purposes, and filling out or improving upon existing features. The following is a summary of new features, changes and bug fixes.

New:

  • Added Changelog, DesktopEntry, Fountain, PropertyList, Specman/E and Xojo syntax support
  • Added support for line wrapping for markdown-like syntaxes.
  • Added new regular expression checker plugin.
  • Added new URL validation plugin.
  • Added support for f, F, t and T Vim motion commands.
  • Added current language development documentation to Help menu.
  • Added support for clipboard history snippet variables.
  • Added support for deleting user/session language preferences.
  • Added ability to jump to a file within the sidebar by entering the beginning characters of the file's name.
  • Added new `General/PromptCrossSessionSave` and `Sidebar/KeySearchTimeout` preference items.
  • Added `-ending` option for plugins when creating spinbox preference widgets which adds text to the right side of the spinbox value, if specified.
  • Added new `Edit/Format` menu with the ability to insert bold, italics, underline, overstrike, highlight, superscript, subscript, code, header1-6, unordered/ordered list items and checkboxes.
  • Added new `formatting` syntax descriptor.
  • Added support for using function keys in menu bindings.
  • Added `Use Default` button in the shortcut preference panel for reverting shortcuts to those that are set by default.
  • Added Vim support for moving multicursors with motions with numerical values (i.e., '3j' moves all multicursors down by three lines).
  • Added support for `{count}%` where `{count}` is a percentage of the file to jump to.
  • Added support for `{count}G` where `{count}` is to a specific line within a file to jump to.
  • Added `General/DefaultThemeExportDirectory` item in Advanced preference panel.
  • Added `General/HiddenThemes` preference value with allows the user to limit the number of displayed themes in the menu and command launcher.
  • Added new `Manage Themes` tab in Appearance preference panel which can allow the user to toggle the visibility of themes, add new themes, delete themes or edit themes in the Theme Editor.
  • Added new `Get More Themes` button in the `Manage Themes` preference tab which will launch a web browser to the TKE themes webpage.
  • Added new `Close Other Tabs in Pane` and `Close All Tabs in Pane` menu items to tab contextual menus.
  • Added `selection` Vim option and added support for `inclusive` and `exclusive` selection modes.
  • Added new `Documentation` language preference panel to allow users to include additional documentation URLs to the `Help/Language Reference` menu on a per language basis.
  • Added new documentation search panel.
  • Added support for K Vim command which displays language documentation in a web browser when invoked.
  • Added ability to remove markers from current tab.
  • Added ability to associate a number with a `d$` Vim command to delete more than one line of text.
  • Added support for `g~~`, `guu` and `gUU` Vim commands.
  • Added support for Vim numerical multiplication used in various commands (i.e., 2d3l: deletes 6 characters to the left of the insertion cursor).
  • Added support for providing a license file when exporting a theme.
  • Added support for `zD` and `zF` Vim folding commands.
  • Changing behavior of setting the Vim `foldenable` option so that it setting it causes the previous folds to be reapplied to the buffer.
  • Added ability to show/hide a named buffer gutter in the ctext widget.
  • Added support for `c0`, `c$` and `c^` Vim commands.

Changes:

  • Refactored various parts of the code base for better maintainability.
  • Added ability to specify text widget to api::reset\_txt\_focus to reset the focus for the associated text tab.
  • When line numbering scheme (i.e., absolute or relative) are changed in preferences, TKE will now update all existing editing buffers to display the line numbers appropriately.
  • Improved performance of search/replace and multicursor insert/delete.
  • Removed partial support for an embeddable tke widget.
  • Changed backward/forward button states in the remote file viewer to change after the new directory contents are displayed.
  • Improved editing performance when bracket auditing is enabled.
  • Improved drawing performance of Vim command entry, find panel, find/replace panel, find in files panel and user input panel.
  • When a named session preference is changed when the current session is global, prompt the user to save the preference changes to the global session.
  • When the global preference is changed when the current session is a named session, prompt the user to save the preference changes to the named session.
  • When auto-indent or smart-indent mode is enabled, hitting the backspace key will delete to the last tabstop.
  • Changed `H`, `J`, `K` and `L` Vim commands for moving multicursors and changed multicursor moving to hitting the `m` key while multicursors are set and then using the standard Vim motion keys.
  • When the Tab key is entered when the text between the beginning of the insertion line and the current insertion point, the insertion cursor will now move to the first whitespace character after the insertion point.
  • Enhanced default menu bindings.
  • Changed default menu binding of the indent/unindent commands.
  • When a file is being renamed, only select the basename portion of the file pathname in the entry field instead of the entire pathname.
  • Improved performance of Vim `j` command.
  • Displaying multicursor move mode in information bar.
  • Improved YAML syntax highlighter.
  • Added `HighlightEndProc` keyword to syntax files to help improve embedded Tcl syntax support within syntax description files.
  • Removed ability to create menu shortcuts on macOS that would lead to 'dead keys' being invoked.
  • Minor enhancements to various syntax files.
  • When parsing TextMate theme files, grab authorship information (if available) and add it to the tketheme file.
  • Changed `Find/Markers/Remove All Markers` to remove all markers from all opened tabs (instead of just the current tab).
  • Added `View/Set Syntax` menu back into View menu on macOS.
  • Changed default keybinding for `Show/Hide Sidebar` from Control/Command-K to Control-Y.
  • Enhanced the `ciBRACKET` Vim commands to allow either the left or right bracket to be used.
  • Updated tablelist widget to version 5.17 (improved performance in theme editor).
  • Added support for `zf` Vim command when text is selected in visual mode.
  • Improved support for deleting selected text with `x`, `d`, `c` and `Delete` Vim commands.
  • Changed `zj` and `zk` Vim commands to not buffer wrap.
  • Changed line gutter selection to set insertion cursor to end of selected text.
  • Changed `Find / Select Next Occurrence` menu item to `Find / Find Next` to reflect actual functionality.
  • Changed `Find / Select Previous Occurrence` menu item to `Find / Find Previous` to reflect actual functionality.
  • Changed `Find / Select All Occurrences` menu item to `Find / Select All Matches`
  • Changed `Find / Append Next Occurrence` menu item to `Find / Select Current Match` and changing its function to append the matched item that the insertion cursor is on.
  • Changed `Save As` behavior when saving a buffer tab such that it becomes and behaves like a normal file tab.
  • Enhanced BIST suite.
  • Updated user guide.
  • Updated development guide.
  • Updated translations.

Bug Fixes:

  • Fixed issues with tab selection when a tab is closed.
  • Fixed FTP/SFTP issues when the connection name contains whitespace.
  • Fixed plugin issue with tag bind handling.
  • Fixed issues with the ci}, ci) and ci] Vim commands.
  • Fixed icons within remote file viewer when buttons are disabled.
  • Fixed directory foreground images.
  • Fixed file reloading.
  • Fixed syntax variable table in user guide.
  • Fixed support for user snippets in preferences window.
  • Fixed snippet saving issue within the preferences window.
  • Fixed keyboard traversal focusing issues within the sidebar.
  • Fixed issue when closing tab in the pane that is not the current pane.
  • Added missing `else` keyword in Perl syntax descriptor.
  • Fixed issue where title bar in window would not always match the current tab.
  • Fixed issue where all tabs are hidden and the `View` menu is displayed.
  • Fixed potential issues with showing/hiding incorrect files from the sidebar.
  • Fixed issue with updating preference widgets when session/language is changed within the window.
  • Fixed issue where selection would be lost when indenting/unindenting selected text.
  • Fixed issue where snippet is not available within editor without a restart.
  • Fixed issue when an editing buffer syntax is changed, the new syntax tabsallowed indicator was being ignored.
  • Fixed issue with replacing text with tabs and newline characters.
  • Fixed issue with bracket completion for brackets that were escaped.
  • Fixed memory leaks that occurred when a tab was closed.
  • Fixed issues related to using menu bindings with the minus character.
  • Fixed issue with using Alt in menu bindings on Linux and Windows.
  • Fixed potential issue when a menu binding is attached to a menu that contains development options.
  • Fixed issue where menu bindings could be duplicated within the UI.
  • Removed single Shift modifier from shortcut editor in preferences UI.
  • Fixed errors with comment/uncomment functionality from menu.
  • Fixed issues with using asterisk, question mark and arrow characters in menu bindings.
  • Fixed syntax discovery algorithm to be case-insensitive and only consider the tail of a filepath against the syntax file pattern.
  • Fixed ctext issues with undo/redo and bracket auditing.
  • Fixed issue with bracket auditing and code folding in multicursor mode.
  • Fixed issue where entering `{count}j` Vim command where `{count}` is a number that exceeds the number of available lines down from the insertion cursor.
  • Fixed issue using the `$` Vim command when using a numerical value with it.
  • Fixed various issues with multicursor cursor movements.
  • Fixed space and backspace Vim commands to move forward/backward by a given number of characters, line wrapping when needed (instead of working like the l/h vim commands).
  • Added missing keywords and added auto-completion support for backtick characters in JavaScript syntax.
  • Fixed YAML syntax to use indentation based code folding.
  • Fixed bug when the user changed the `Logfile Directory` value in the Advanced preferences panel.
  • Fixed issue with dragging and dropping a TKE and TextMate theme package onto the TKE sidebar or text widget to import the file.
  • Fixed issues with menu bindings not working when the key focus is in an editing buffer.
  • Fixed issue with Option key menu bindings on macOS.
  • Fixed an issue with the default colors in images when importing a TextMate theme.
  • Fixed issue when the console is closed via the window manager button but TKE menu still displayed `Hide Console` instead of `Show Console`.
  • Fixed UI issue when a tab contextual menu is displayed and then retired without selecting a menu option.
  • Fixed issue with using the `.` Vim command on macOS.
  • Fixed an issue where clearing a menu shortcut in the preferences window would not be remembered between application sessions.
  • Fixed `0` and `$` Vim commands in visual mode.
  • Fixed language disabling feature in preferences window to properly remember which languages are disabled.
  • Fixed several issues with marker support.
  • Fixed issues with displaying syntax menus which could cause the application to crash.
  • Fixed issue with syntax highlighting embedded languages which use advanced parsing.
  • Fixed visual mode support with `^` Vim command.
  • Fixed issues with bubbling text down.
  • Fixed selection state when visual line mode is started.
  • Fixed `gg` Vim command to work properly when we are in visual mode.
  • Fixed `==` Vim command to work properly when a number preceds the command.
  • Fixed `cc` Vim command when a count value is used in conjunction with it.
  • Fixed issue with deleting last line and then restoring the cursor to the correct position upon an undo operation.
  • Fixed bracket matching when two or more brackets are listed back-to-back and the first bracket is escaped.
  • Fixed issue where an escape character would not cause bracket auditing to be performed when it mattered.
  • Fixed folding issue where a foldable line would not be marked as such.
  • Fixed issue with closing all folds when at least one fold was already closed.
  • Fixed issue with updating the syntax highlighter when a file was renamed such that the extension of the file is changed.
  • Fixed issue with installing TKE through the `Check for Updates` menu option when a password is required for installation.
  • Fixed code folding issues when in manual mode and text is edited.
  • Fixed issue with closing a fold range.
  • Fixed issue with search highlighter foreground color where it could be hard to read the highlighted text.
  • Fixed state of the Find menu items to reflect the correct state.
  • Fixed issue with not highlighting the `default` keyword in Tcl syntax.
  • Fixed several issues with Vim modeline support.
  • Fixed session loading issue when the current tab of a pane is deleted from the file system and TKE is started with that saved session.