Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
995 lines (808 sloc) 44.2 KB
+ added
- fixed
* changed
1.72.0 (2019/01)
+ add: command "folding: fold block at current line" allows caret inside all block lines (not only block start)
+ add: option "find_show_extract", allows to hide Extract button
+ add: API (gaps improved)
* change: deleted 3 commands "folding: fold range....", because they were duplicated by commands "folding: fold block...."
- fix: caret pos after commands "scroll line up/down" was wrong sometimes
- fix: trying to fix Linux/Mac issue when caret stops blinking sometimes
* change: lexer removed to addons: C#
* change: lexer removed to addons: Perl
* change: lexer removed to addons: Tcl
* change: lexer removed to addons: Haskell
* change: lexer removed to addons: Apache config
* change: lexer removed to addons: Delphi resources
+ add: lexer Python improved: fix numbers with "_"
+ add: lexer Bash improved: highlight keywords in separate style; highlight func names, "-params"; highlight half of symbols in new style
+ add: lexer Ruby improved: disabled regex rule (temporary?); fixed heredoc rule; highlight "par:" and ":par"; highlight octals/decimals; highlight more std funcs
+ add: lexer C# improved: highlight modifiers in separate style; add 'await'/'async'
+ add: lexers C, C++ fixed
1.71.0 (2019/01)
+ add: dialog Find has new Extract button: it finds all matches in RegEx mode and puts them to a new document (plugin Extract Strings also does this)
+ add: Addon Manager "Update" dialog can update also lexers/themes/translations
+ add: if curly brackets {} typed and caret is inside them, Enter makes additional indented line between brackets (uses option "indent_size")
+ add: in the list of recent files, paths are shorted with ~ char (for home folder)
+ add: option "find_hotkey_extract"
* change: Addon Manager doesn't support versions in old files v.inf
- fix: reworked dragging of Minimap's highlighted; now it must feel like Sublime
- fix: bug in Option Editor (leads to saving to lexer-specific config)
+ add: lexer C improved: highlight more keyword groups
+ add: lexer C++ improved: more std words; support hex&floating numbers
+ add: lexer CSS improved: more std words; better highlight @media; highlight units after number
+ add: lexer XML improved: handle incorrect comment endings
1.70.0 (2019/01)
+ add: smooth per-pixel scrolling in editor; it can be disabled by option "smooth_scroll"
+ add: option "undo_persistent" (disabled by default), which allows to keep Undo/Redo data in files, in .cudatext folder near original file
+ add: dialog Go To supports "+" at end of text to select to entered position (like SynWrite "Extend selection")
+ add: on saving file in 1-byte encoding, app checks that Unicode text can be converted to this encoding, and if it cannot, app saves file in UTF-8
+ add: tooltips for UI tabs buttons (x, +, <, >, v)
+ add: Console panel highlights special lines (>>> and Python errors)
+ add: Console panel shows result of entered expressions (even without "=" prefix)
+ add: Output and Validate panels have context menu
+ add: option "ui_tab_show_x" has additional value (show "x" for mouse-over and active tabs)
+ add: commands "focus group 1...6"
+ add: menu items "Toggle statusbar"/"Toggle sidebar"/"Toggle toolbar" now save option to user.json
* change: changed default value of option "pylib__linux" to ""
- fix: Windows: flickering on start if window was maximized
+ add: lexer JavaScript improved:
+ show anonymous functions (...)=>{...} in code tree
+ highlight true/false/null/this/undefined in new color
+ highlight func/class names in new color
+ highlight HTML tags (needed for CSS-in-JS syntax)
+ add: lexer Python improved: highlight func/class names
+ add: lexer Assembly improved: highlight more word groups, fix folding
- fix: lexer Ruby
- fix: lexer Bash
1.68.0 (2018/12)
+ add: option "ui_tab_variable_width", can set variable width tabs
+ add: option "ui_tab_size_x_max"
+ add: option "ui_tab_show_x_size"
+ add: too long UI tab captions are now truncated in the middle, by "…" char
+ add: Linux: selection is auto-copied to OS Primary Selection (for max line count ~200). So plugin "Auto Copy to Clipboard" is almost not needed (it can copy to usual clipboard though).
+ add: can continue column selection after multi-carets. After column selection made, then Shift+Right used (it converted column block to multi-carets), you can continue column selection by Shift+Alt+Down
+ add: plugin Multi Installer skips more error messages (about incompatible OS, API)
+ add: command "Close and delete file" also works in picture viewer and binary/hex viewer
* change: removed menu items "Help - Mouse usage", "Help - Lexers"
- fix: most of app hotkeys didn't work in picture viewer (e.g. F1, Ctrl+Tab)
- fix: Windows: dialog positions on 2 monitors configuration
- fix: macOS: Ctrl+click didn't call context menu in all places
- fix: macOS: minimap didn't paint
1.67.0 (2018/12)
* change: changed app subfolder in home folder:
Linux, FreeBSD: ~/.config/cudatext (or $XDG_CONFIG_HOME/cudatext if variable set)
macOS: ~/Library/Application Support/CudaText
+ add: much improved painting of minimap (spaces/tabs should paint correctly in multiline comments/strings, or in plain text)
+ add: localization of statusbar first cell (default values for ui_statusbar_* options are changed)
+ add: option "staples_props"
+ add: option "ui_menu_show"
+ add: option "ui_statusbar_show"
+ add: option "ui_toolbar_show"
+ add: command "ui: toggle sidebar"
+ add: option "autocomplete_commit_chars" (like VS Code)
+ add: option "ui_statusbar_panels" can specify auto-sized cells; default is changed for this
+ add: menu item "View - Toggle sidebar"
+ add: File Types config has default entry to detect XML by signature
+ add: option "autocomplete_add_opening_bracket" now doesn't insert bracket if it's already in text
+ add: UI theme color "block staples, for caret" (default is "none")
+ add: lexer Ruby much improved
* change: deleted option "staples_indent"
* change: deleted option "ruler_text_indent"
* change: history file don't store visible state of toolbar/statusbar/menubar, these are options in user.json now
- fix: rendering artifacts in Bash lexer on fast editing (issue #1710)
- fix: freezing by NN sec in big file, if pressing (Ctrl+A, Del) during lexer parsing
1.66.0 (2018/11)
+ add: statusbar have tooltips
+ add: dialog "Go to": can enter absolute decimal offset (d1000) or hex offset (xFF00)
+ add: dialog "Go to": title shows detailed hint
+ add: deepest block staple, containing first caret, is highlighted (like VS Code)
* change: removed 5 unprinted_ options ("unprinted_spaces", "unprinted_spaces_trailing", "unprinted_ends", "unprinted_end_details", "unprinted_end_arrow")
+ add: single option instead of deleted ones: "unprinted_content", and it has new sub-option to show unprinted spaces/tabs only at begin/end of lines
+ add: option "wrap_mode" has new possible value "wrap at minimum of window edge / margin" (like VS Code)
+ add: if many zip files opened via "File - Open file", they install silently, reported only count of zip files
+ add: for horizontal scrollbar, app adds 4 spaces after longest line (before: was 1, VS Code has 5)
+ add: assigned hotkeys Shift+Enter, Shift+BkSp (same as Enter, BkSp)
+ add: checking/warning for outdated files/dirs of CudaText, which should be removed by user
* change: end-of-line marks changed to "LF", "CRLF", "CR"
* change: encoding names "cpNNNN" changed to lower case
* change: removed option "newdoc_eol", instead added option "newdoc_ends" with new possible value Auto
* change: removed encoding aliases "ANSI", "OEM", now app uses/shows direct names only
* change: removed 2 commands for "ANSI" encoding alias
* change: removed option "unprinted_end_dot_scale"
* change: removed option "ui_statusbar_tabsize"
* change: separate config file "plugin groups.json" not used, instead used section "plugin_groups" in user.json
* change: separate config file "filetypes.json" not used, instead used sections "detect"/"detect_line" in user.json
* change: plugin Multi Installer: removed options to make menu groups
- fix: plugin Show Unsaved Changes failed on Rus text in "ANSI" encoding (one of reasons to remove aliases)
- fix: command "Invert selection" gave redundant carets at text begin/end
1.65.0 (2018/11)
+ add: option "saving_trim_final_empty" - delete redundant final empty lines
+ add: command "show+focus bottom panel / console"; default hotkey Ctrl+` was assigned to this command
+ add: command "show+focus bottom panel / output"
+ add: command "show+focus bottom panel / validate"
- fix: mass replace command has 2 stages, but stage-2 didn't show progress and couldn't be stopped
- fix: lexer HTML: disabled CSS highlight in attribute style="" because it gave problems
1.64.2 (2018/10)
+ add: new options for caret shape: "caret_view", "caret_view_ovr", "caret_view_ro"
+ add: caret shape(s) can have height bigger than full cell, e.g. 140%
* change: deleted options "caret_shape", "caret_shape_ovr", "caret_shape_ro"
+ add: improved lexer Markdown (highlighted math blocks, table chars; fixed definition lists)
1.64.0 (2018/10)
+ add: file-types config allows to detect lexer by first line of text. See details in the wiki.
+ add: option "ui_listbox_centered", allows to place menu dialogs (e.g. Command Palette) on screen center
+ add: option "ui_console_compact", allows narrow layout of bottom panels
+ add: improved auto-closing of brackets, it works if next char is one of ;:.,=>
+ add: app detects missed elements in old color themes, and shows it in console, on loading theme
+ add: dialog "Go to" ignores letter chars
+ add: command "settings: font size: bigger"
+ add: command "settings: font size: smaller"
+ add: lexer Markdown improved (<kbd> content highlighted, fixed rule for strikeout text)
* change: deleted deprecated command "Restore lexer styles"; you can delete old "settings/lexer styles backup.ini"
* change: deleted option "log_debug"
* change: deleted option "ui_float_groups_in_taskbar"
* change: deleted option "comment_full_line_if_no_sel"
- fix: fixes for non-blinking caret
1.63.0 (2018/10)
+ add: option "ui_auto_save_session", allows closing without questions, like in Sublime Text
+ add: option "lexer_postpone_until_shown", it makes much faster app start with lot of files from session
+ add: more system libs are placed to subfolder "py/sys"
* change: folder "py/requests" was moved to "py/sys", so delete this old copy: "py/requests"
* change: lexers Go, YAML removed to add-ons
- fix: painting gutter decoration on wrapped line
- fix: with complex multi-selections (from Invert Selection), Delete command could brake text (now text is Ok, only carets pos need fixing)
1.62.0 (2018/09)
+ add: new files "settings/*.cuda-lexops" - lexer properties, which user can change in "Lexer Props" dialog; they auto-save on OK press in Lexer Props, and auto-restore on app start
+ add: now it's not needed to use "Restore lexer styles" command (it was temp helper); command will be removed soon; and file "settings/lexer styles backup.ini" not updated now
+ add: Multi Installer: options "Make menu group 'nnn'" (make groups in Plugins menu)
* change: dialog "Lexer Properties": some fields (lexer name, commenting) made read-only
* change: dialog "Lexer Properties": removed "Style type" option
1.61.0 (2018/09)
+ add: API to show decorations on gutter (will be used in Brackets Hilite plugin)
+ add: Addon Manager: new versioning system. Before: only plugins versions are saved, to v.inf files. Now: all add-ons versions are saved to a single file, settings/packages.ini. Old versions (v.inf) still show in the Update dialog.
1.60.5 (2018/09)
+ add: option "ui_tab_recent_on_close"
+ add: bind Shift+Alt+click to vertical selection (from first caret to clicked pos)
+ add: updated Multi Installer (suggest SQL, suggest more addons for HTML/CSS/JS/PHP)
+ add: API (to modify tab context menu)
* change: renamed file "py/cudax_lib/" to "py/"; please delete old folder (py/cudax_lib)
1.60.0 (2018/08)
+ add: ability to group Plugins menu: see Wiki help topic "Plugin groups config"
+ add: preinstalled plugin Multi Installer (by Artem Gavrilov). It allows to quickly install bunch of add-ons for popular languages (HTML/CSS/JS/XML/Python etc). It is also auto-called on clean app installation (when "settings/history.json" not exists).
+ add: improved lexer JavaScript (Code Tree made correct for anonym functions)
+ add: improved lexer CSS (fix coloring of properties)
+ add: improved TutorialLexer4, added "Advice for C-like lexers"
1.59.2 (2018/08)
+ add: Code Tree filter: save filter (with dropdown list) to session
+ add: theme color "treeview, selected BG, not focused"; allows to see if Code Tree focused
* change: deleted option "lexer_line_separators"
- fix: on opening session, closing all tabs with confirmation was not correct
- fix: API for tab groups
1.59.0 (2018/08)
+ add: detection of UTF16 LE/BE without BOM
+ add: grouping modes "6 vert" and "6 horz"
+ add: Code Tree filter: each tab has its own filter text (initially empty)
+ add: Code Tree filter: input is combobox now; use Enter to add current text to dropdown
+ add: tab context menu items: "Copy filename only", "Copy filepath only", "Copy full filepath"
+ add: Project Manager option "Open files by double-click"
+ add: improved lexer HTML: highlight <tag style="..."> content with CSS lexer
+ add: improved lexer Markdown: highlight {++add++}, {--del--}, {~~edit~~}
+ add: command "code tree: clear filter"
+ add: command "code tree: focus filter"
+ add: command "code tree: focus treeview"
+ add: command "ui: hide bottom panel"
+ add: on folding a range, caret(s) pos is corrected if it was inside that range
- fix: lexer Python: wrong highlighted strings like r'\'
- fix: CSS autocompletion inside <tag style="..."> didn't work with multiline string
1.58.2 (2018/08)
+ add: Code Tree has additional filter field
+ add: option "ui_tree_filter_layout"
+ add: more Unicode "white space" characters are shown in hex form
+ add: find/replace with regular expressions: "\w" supports all Unicode word letters
+ add: API
+ add: command line parameter -nh (no history)
+ add: command line parameter -z (open in viewer)
+ add: command "code tree: go to block for current node"
+ add: command "code tree: go to block for current node, and select"
+ add: on file opening, syntax colored text appears faster
+ add: on deleting lexer, its files .acp and .cuda-lexmap are also deleted
+ add: Project Manager option "Use 'preview tab' on item clicking"
+ add: Addon Manager now deletes most of its temporary files (please delete old folders cudatext_NNNNN in temp dir)
+ add: option "centering_width" now has effect only with "One group" mode
* change: option "ui_statusbar_tabsize" changed its default, now it supports app translation
* change: action "Set tab color" saves its settings not to user.json (please cleanup your user.json from *palette* keys)
* change: command line parameters: long keys variants are removed, only short ones left
* change: option "newdoc_eol" now affects Windows only (it's "Unix EOL" on Unix)
* change: deleted option "ui_statusbar_wrap"
* change: deleted option "ui_tree_show_lines"
* change: deleted option "ui_tree_cache"
- fix: minor UI fixes
- fix: Unix: support Python 3.7
- fix: Windows: support UNC filenames with "single instance"
- fix: lexer JSON (string rule)
- fix: group-mode commands *vert/*horz were swapped, if Config Menu plugin was used; you need to correct menu config for plugin
1.57.0 (2018/06)
+ add: preinstall plugin Options Editor (by @kvichans). And it can be updated in AddonManager as usual.
+ add: improve lexer JSON (different color for string before ":")
+ add: improve lexer Pascal (code tree for nested class of 1 level)
+ add: improve lexer Assembly (hilite labels, show labels in Code Tree, hilite dec/binary numbers with suffix)
1.56.4 (2018/06)
- fix: group-modes "1+2 horz/vert" gave errors
- fix: better support Auto Save plugin
- fix: lexer Pascal must support & char
1.56.3 (2018/06)
+ add: improved plugin "Insert Time": added command "Insert in default format", and command "Config" in "Options / Settings-plugins"
+ add: API
1.56.0 (2018/06)
+ add: option "autocomplete_html_lexers"
+ add: option "autocomplete_css_lexers"
+ add: add-ons can require other add-on(s) via install.inf file
- fix: HTML auto-completion must work in PHP files
- fix: HTML and PHP snippets were not adjusted for new PHP/PHP_ lexers
- fix: with "ui_one_instance":true, cannot open folder from 2nd instance (fixes by @vhanla, @fwhcat)
- fix: after "trim spaces" actions, must fix caret pos, if after line ends
1.55.1 (2018/05)
- fix: initial window position was forced to first monitor
- fix: app taskbar button was always on first monitor
- fix: position of auto-complete listbox sometimes not ok
1.55.0 (2018/05)
+ add: side panel and bottom panel can be floating (undocked).
+ menu item "View - Toggle floating side panel"
+ menu item "View - Toggle floating bottom panel"
+ command "toggle floating side panel"
+ command "toggle floating bottom panel"
+ add: floating tab groups 1/2/3. Now you can put tabs to 2nd monitor. To move tab to floating groups, in tab's context menu call "Move tab to group - Floating 1/2/3".
+ add: option "ui_float_groups_in_taskbar"
+ add: hotkey for "Command palette" set to famous Ctrl+Shift+P (second hotkey is F1)
* change: renamed menu item "Help - Commands" to "Help - Command palette"
* change: changed default of options "minimap_tooltip_show" and "fold_tooltip_show" to false
- fix: minimap rendering for PHP
- fix: lexers HTML, PHP (rule for &#nnnn;)
- fix: lexer Markdown (rule for header)
1.54.0 (2018/05)
+ announce:
new plugin CudaTree with sub-plugins, TreeHelpers.
Most useful TreeHelpers: for Markdown, for PHP.
+ add: API
* change: lexer PHP code tree simplified (hidden $vars, HTML tags, JS items)
- fix: highlighting error in "lite lexers"
- fix: issue when pasting block w/o EOL, at empty line
1.53.4 (2018/05)
+ add: it's possble to show current char in the statusbar: statusbar options support new macros {char} {char_dec} {char_hex} {char_hex4}
- fix: crash when AddonManager installs a lexer, with any lexers active in tabs
- fix: crash when Lexer Library deletes a lexer active in tabs
- fix: issue in LaTeX lexer with "dynamic hiliting"
- fix: lexer VBScript
1.53.0 (2018/05)
+ add: can specify different fonts for italic / bold / bold+italic font-styles:
+ option "font_name_i"
+ option "font_name_b"
+ option "font_name_bi"
+ option "font_size_i"
+ option "font_size_b"
+ option "font_size_bi"
+ add: option "autocomplete_up_down_at_edge"
+ add: option "find_suggest_in_selection"
+ add: command "toggle window always on top"
* change: changed default of "font_ligatures" to true
* change: deleted option "spacing_x"
* change: deleted commands "show side panel: tabs list / project" (doable via plugin actions)
1.52.0 (2018/05)
+ add: implemented editor tooltips over [...] folded marks
+ add: option "fold_tooltip_show"
+ add: option "ui_sidebar_on_right"
+ add: UI-theme "white"
+ add: lexer PowerShell improved
+ add: command "show side panel, project"
+ add: command "show side panel, tabs list"
- fix: command "show side panel, code tree"
- fix: TabsList plugin made "ghost panels" which overlap Code Tree
1.51.2 (2018/05)
+ add: lexer PHP changed - to support PHP linters, and PHP file type icons. It is cloned from HTML lexer, with micro changes. Old PHP lexer renamed to PHP_.
+ add: lexer VBScript: improved folding
+ add: API
1.51.0 (2018/04)
+ add: lite-lexers speed increased on very long lines
+ add: file tab captions show folder specifier, if they have same file name (e.g. 2 tabs with index.js will show as "index.js - dir1", "index.js - dir2")
+ add: AddonManager: menu item "Download: show links" (to paste to download manager)
+ add: Find/Replace dialog:
+ input fields are auto-sized
+ separate dialog is resizable
* buttons have minimal width (for small screens)
+ option "find_show_select_all"
+ option "find_show_mark_all"
+ add: command "Scroll to begin"
+ add: command "Scroll to end"
+ add: command "Scroll page up"
+ add: command "Scroll page down"
1.50.0 (2018/04)
+ add: restored deleted unicode options:
"unicode_proportional" (was "font_width", int, now boolean),
+ add: dialog "File is maybe not text" gives additional buttons: viewer text mode, viewer unicode mode
+ add: option "ui_tab_disabled", to disable tabs (except first tab)
+ add: lexer Python: support for continuation char inside strings
1.49.0 (2018/04)
+ add: detection of letter chars improved, now should work for all international alphabets
+ add: command "Options / Settings - default/user", to open 2 configs
+ add: config "default.json" opens as read-only
* change: menu item "Groups" renamed to "=" and moved on top menu level
* change: changed console output: now output is buffered, and result is flushed to UI control when app is idle
* deleted option "font_width"
* deleted option "unicode_wide_allowed"
* deleted option "unicode_full_width"
1.48.0 (2018/04)
+ add: option "font_width", it gives new method to detect width of Unicode characters
+ add: improved plugin "Make Plugin", added code to read/write options
- fix: restoring of scroll pos on opening file
1.47.5 (2018/03)
+ add: API, support for plugin Terminal
+ add: improved auto-closing bracket: now when you type ")" after "(", closing bracket not duplicated (like PyCharm)
+ add: options "log_console", "log_debug"
+ add: option "unicode_full_width"
* change: renamed option "allow_wide_chars" to "unicode_wide_allowed"
1.47.0 (2018/03)
+ AddonManager/Install:
+ add: full list is sorted by caregory+name
+ add: allows to choose kind of addons, first item <Category>
* change: disabled fuzzy search
* change: filter only by addon name (not by description)
+ add: API
- fix: "lexer dynamic hiliting" was broken after text editing
- fix: command File/Reopen must keep bookmarks
1.46.0 (2018/03)
* change: dialog "Go to" simplified, now it's simple modal form, like Commands dialog
- fix: with session reopened, if single file opened from shell, it wasn't activated
- fix: "restore lexer styles" didn't work
1.45.2 (2018/03)
+ add: minimap can show nice tooltip, when mouse cursor moves over minimap area (like KWrite)
+ add: option "minimap_tooltip_show"
+ add: option "minimap_tooltip_line_count"
+ add: option "minimap_tooltip_width"
1.45.0 (2018/03)
+ add: avoid flicker of folded blocks (unfold-fold) when editing Markdown/Python/etc files
+ add: ProjectManager: option "Toolbar icons"; option uses icons in folder data/projtoolbaricons
+ add: sidebar button "hamburger", which shows copy of main menu as popup
+ add: command "show main menu as popup"
+ add: command "toggle main menu", menu showing is saved to history
+ add: lexer PowerShell: small fixes
* change: TabsList: removed Config dialog
1.44.0 (2018/03)
+ add: pictures: allow dragging, zooming by Ctrl+ mouse wheel (Command+ on macOS)
+ add: pictures: show zoom % in statusbar
+ add: save to session/history also numbered bookmarks (was: only usual bookmarks)
+ add: option "hide_horiz_scrollbar"
1.43.0 (2018/02)
+ add: plugins can force show sidebar button, even if they don't run on start. New section in install.inf: [sidebar1] .. [sidebar3]. Used in plugins: ProjectManager, TabsList, FTP.
+ add: option "ui_toolbar_theme", with default theme
+ add: add-on type "toolbar theme", which installs icon set(s) for new option
+ add: improved look of "Go to bookmark" dialog
- fix: scroll pos didn't restore for inactive tabs (e.g. in session)
1.42.0 (2018/02)
+ add: reworked Code-Tree handling, fixed some crashes
+ add: reworked minimap, it paints faster/nicer
+ add: API for Code-Tree, now it's possible to make plugins which fill code-tree for some files
+ add: must not activate passive+unmodified tab by clicking its X
+ add: must disable tab closing during file loading/saving
+ add: optimizations for huge lines (len 1M+)
+ add: cursors for auto-scroll support high-DPI (thanks, FTurtle)
+ add: option "autocomplete_add_opening_bracket"
* change: sidebar: changed color to darker, changed icon set to white
* change: lexer Pascal: don't add fold-range "unit".."end."
- fix: flickering on making tab "near current tab"
- fix: flickering on opening many files (File/Open or session)
- fix: Windows IME input
1.40.0 (2018/02)
+ add: bookmarks support is rewritten. Now a bookmark is not deleted when its line is deleted. And memory usage of text storage is smaller now.
+ add: option "ui_tab_size_x_min", so can set tabs always wide
+ add: show "startup time" in console panel
+ add: support some more HTML5 tags
+ add: sidebar theme "octicons light 20x20"
- fix: Tabs List plugin (used deleted API)
1.39.0 (2018/01)
+ add: API
- fix: horz scrollbar incorrect on long lines (>window size)
- fix: "More carets" commands didn't consider tab-chars
- fix: "Check for updates" in x32 version
1.38.3 (2018/01)
+ add: option "indent_size" allows value 0: use indent from options "tab_size", "tab_spaces"
+ add: API
- minor fixes
1.38.0 (2018/01)
+ add: API to show floating tooltips (new plugin "HTML Tooltips")
+ add: show "zero-width space" as other unprinted chars
1.35.0 (2018/01)
+ add: auto-completion listbox in HTML allows multi-carets (like Sublime does)
+ add: on macOS, some features use Command-key instead of Ctrl-key: Ctrl+click; Ctrl+(double click); Ctrl with drag-drop of text
+ add: API
* change: option "lexer_dynamic_hilite" turned off by default (problems with option on macOS; slows down)
- fix: dialog Find: Shift key runs search
1.34.0 (2018/01)
+ add: many optimizations in core for scrolling speed on huge lines (4M chars)
+ add: Ctrl+(double click) now selects additional word
+ add: command "Selection - Expand selection to word" (like in many editors)
+ add: option "allow_wide_chars"
+ add: commands "find current word/sel next/prev": they select current word before search
* change: option "find_hotkey_find_next" is now hotkey, which is independant from focused input; its value "Enter" is ignored, other value works. "Enter" is now hardcoded hotkey.
- fix: cannot find string with trailing EOL (multi-line input)
1.32.2 (2018/01)
- minor fixes
+ add: API
1.32.0 (2018/01)
+ add: deleting of huge block (w/o undo) is instant now (before it was n seconds)
+ add: code-tree has horiz scrollbar
+ add: statusbar menu for tab-size: added sizes 3, 5, 6, 7
+ add: Project Manager variables for ExtTools plugin: {ProjMainFileNameOnly}, {ProjMainFileNameNoExt}
+ add: API for statusbar
- fix: Windows high-DPI wrong scaling of plugin dlgs
- fixes
1.31.0 (2017/12)
+ add: option "ui_non_text" has additional values, to auto open binary files in binary/hex modes
+ add: binary viewer uses "middle dot" unicode char
+ add: binary files save to sessions
+ add: lexer Perl reworked (hilite multiline comments, fix funcs in code-tree)
- fix: lexer C# (tree for funcs)
- fix: if disk file is read-only, then normal, app must not reopen it r/o
1.30.0 (2017/12)
+ add: binary viewer. It is called when non-text file is opened, with additional prompt. File size for binary viewer can be any.
+ add: dialog "Go to" works with binary viewer: can enter percents with "%" char, or hex offset
+ add: dialog "Go to" for editor: can enter percents with "%" char
+ add: prompts "file is not text", "file is too big" changed to one dialog (to allow binary view)
+ add: option "viewer_binary_width"
- fix: lexer C# code-tree for generic func
1.28.2 (2017/12)
- fix: major bugfix, crash on paste command (in 1.28.0)
- fix: files weren't added to recents on app closing
+ add: if deleting too big block (bigger than option "undo_limit"), do it fast w/o undo
1.28.0 (2017/12)
+ optimized memory usage on big files. E.g. Windows x32 version with 100M log: mem usage was 900M, now 720M.
+ add: support mouse wheel horizontal scrolling
+ add: macOS: can drag-drop folder from Finder onto CudaText icon
* change: lexer SCSS removed to add-ons
* change: lexer LESS removed to add-ons
* change: lexer "SynWrite acp files" removed to add-ons
* change: lexer "SynWrite snippets" removed to add-ons
1.27.0 (2017/12)
+ add: lite lexer SQL^
+ add: lexer API supports lite lexers
+ add: console lines "Init: cuda_nnnn" on loading plugins; option "py_init_log"
* change: usual lexer SQL removed to add-ons
+ add: AddonManager: added option "Install: show confirmation and report"
* change: AddonManager: removed confirmation "Install selected addon?"
1.26.0 (2017/11)
+ add: Lite lexers - for huge files, e.g. 800Mb XML file. Lite lexers don't support code-tree, folding, rich hiliting; but they work very fast on any file size (with average line length).
+ add: for too big files (option exists already) now lite lexers are detected
+ add: lite lexer XML^
+ add: lite lexer JSON^
+ add: lite lexer Log files^
- fix: wrong column selection, if tab-chars at line start
1.25.0 (2017/11)
+ add: option "ui_tab_multiline" - enable multi-line tabs
+ add: option "ui_max_lines_codetree" (default 8K lines) - disable code-tree for too big files
+ add: show console log, when session or project loads/saves
* change: lexer JSON: code-tree simplified (was slow on big files)
- fix: issue with last session, if "ui_reopen_session":false
- fix: Linux copy-to-clipboard could append zero char
- fix: option "autocomplete_autoshow_chars" must ignore numbers
- fix: some groups-related commands
1.24.3 (2017/11)
- fix: wrong scaling of few dialogs on Win10 high-dpi
- fix: if same file opened again, its tab wasn't activated
- fix: bug in 1.24.1, session's first loaded tab not parsed
- fix: major bug, code-tree didn't update on editing file
+ added: option "ui_tree_cache"
+ added: API
1.24.0 (2017/11)
+ added: non-RegEx search engine is rewritten. It now finds text in big (10Mb+) files 10-15 times faster. RegEx search is still slow, it builds string buffer from entire file.
+ added: lexer Bash: reworked to hilite ${complex vars} and `complex backtick commands`, now don't hilite "echo" command
+ added: lexer Pascal: support keyword "operator" (hilite, show in code tree)
* change: dialog Find: Select-all don't join adjacent selections to bigger selection
* change: dialog Find: disable option "words" for multi-line input
1.23.6 (2017/11)
+ added: encoding "OEM", it maps to one of locale dependent OEM encodings (cp437, cp850, cp852, cp866 etc)
+ ProjectManager: show x icon for already deleted files
- fix: prev version shows "Cannot focus invisible window" on reopening session
1.23.5 (2017/11)
+ added: option "ui_tab_angled" (bool value), improved painting of angled tabs
* removed: option "ui_tab_angle" (int value)
+ added: menu item "View - Toggle always on top"
* lexer SQL: removed code tree support
1.23.0 (2017/10)
+ ProjectManager: single click opens file in the preview tab (italic caption), like in Sublime
+ added: option "ui_tab_preview_font_style"
+ API for preview tab
1.22.4 (2017/10)
+ added: option "ui_tab_position": can place tabs on top/bottom/left/right
* deleted option "ui_tab_bottom"
+ ask "file changed outside. reload?" also if file undo history is not empty
+ show "changed N lines" status after few commands (e.g. trim spaces)
1.22.0 (2017/10)
+ added: option "ui_tab_flat" (tabs look like in new Sublime)
+ added: caching of Code Tree content, so much faster switch betweeen tabs
+ added: UI theme color "tabs, flat, focus mark"
- fixed: commands "go to screen top/bottom/center" must work ok on long wrapped lines
1.21.0 (2017/10)
+ added submenu "Options / Settings-plugins", so plugins can put config commands here, instead of "Plugins". Two standard plugins (Tabs List, Comments) use this menu.
+ API for "Vim Mode" plugin
+ added commands: "go to line absolute begin/end (+select)" (keys Home/End consider spaces)
+ added commands: "go to word end (+select)" - like in Vim
+ added commands: "go to word next/prev, simple (+select)" - do alternate word jumps like in Vim
1.20.0 (2017/09)
+ reworked UI tabs: added option "ui_tab_button_layout"
+ option "ui_reload_unsaved_confirm"
- fix: painting on resize
- fix: ProjectManager using of old API
1.19.2 (2017/09)
+ main toolbar is now wrappable
+ UI tabs: added scroll arrows (left side) for lot of tabs
+ UI tabs: don't paint angled tabs (slow) if tab count>10
+ added theme color "tabs, special marks"
* change theme "sub": side panel made dark
1.19.0 (2017/09)
+ colored underlines for HTML's rgb(), for ex rgba(200, 200, 0, .4)
+ support no-break-space U+00A0: in show unprinted, in go-to-next-word
+ replace with reg.ex.: support change case (modifiers \U \L) for Unicode
+ option "ui_tree_show_tooltips" (turn off, if tooltips are irritating)
+ option "mouse_click_number_selects_eol"
+ improved lexer JS (reg-ex hiliting)
+ improved lexer LESS (numbers hiliting)
+ ProjectManager: commands "Go to main file", "Open main file"
+ ProjectManager: don't allow duplicate items
- fix: fold-marks didn't render on folded lines
- fix: must handle file creation error for command line
- fix: command "go to last editing pos"
1.18.0 (2017/09)
+ preinstalled plugin "Show Unsaved Changes" (command like in ST3)
+ Project Manager: allow drag-drop folder on CudaText - add folder to project
+ dialog "Go to": can enter line:column
+ code tree: context menu item "Sorted"
+ API for dialog "Go to"
+ API to embed editor-control to dialogs
1.17.0 (2017/09)
+ API to shade text (used in plugin Focus Mode)
+ Project Manager: added commands "Add current file", "Add all opened files"
+ lexer Bash: hilite varname before "=", don't hilite keyword after "."
- fixed: high-dpi in ProjManager and bottom panels
- fixed: initial dir of save-dialogs for untitled tabs
- fixed: wrong saved keys.json if "overwrite duplicate hotkey" was used with plugins
- fixed: code-tree lost vert scrollbar
1.16.0 (2017/08)
+ save-as untitled tab: suggest first free filename: new.txt, new1.txt, new2.txt... (like SynWrite)
+ reworked confirmation for duplicate hotkeys in Hotkey dialog (ask to overwrite inside this dialog)
+ mouse column selection: used "cross" cursor (like TextMate)
+ in single line inputs, make right edge of text near the edge of control (like Windows)
+ option "copy_column_aligned_by_spaces"
+ Addon Manager: don't allow to remove standard plugins
+ Addon Manager: cache addon filelists for 10 minutes
* dialog "Lexer library" reworked, used normal buttons on top, added button Hide/Show instead of checkmarks
- fixed: Project Manager "Show panel" command
- fixed: checkmarks in View/Groups menu
- fixed: column selection by mouse: "caret_after_end":false must not break column
- fixed: problem with ":line" in command line and single instance
1.15.0 (2017/08)
+ option "centering_width"
+ option "centering_for_distraction_free"
+ option "ruler_numeration"
+ command "go to screen center"
+ command "force final end-of-line"
+ Addon Manager: suggests to install several addons, one after another
+ Addon Manager: install-command splitted to: a) Install - items w/o installed ones, b) Re-install - already installed items
* removed option "ruler_from_1"
- fixed option "indent_makes_whole_line_sel"
1.14.5 (2017/08)
+ lexer-specific config + lexer-specific hotkeys config are supported for none-lexer ("lexer -.json", "keys lexer -.json")
+ lexer analysis for big files (>100K, option) is delayed now. Syntax analysis starts only after user ends typing text, and pause passed. Much faster on big files.
+ big optimizations for loading big files (>5Mb); e.g. 280 Mb log loaded before: 22sec, now: 7sec.
+ option "lexer_delayed_parsing_size"
+ option "lexer_delayed_parsing_pause"
+ option "ui_tab_new_near_current"
+ option "ruler_from_1"
+ option "unprinted_spaces_trailing"
+ option "indent_kind" has value "by spaces up to opening bracket" (like in ST3)
+ option "indent_makes_whole_line_sel"
+ option "autocomplete_trigger_chars" (like in ST3)
+ option "ui_statusbar_panels" has item for wrap-mode panel (default is hidden)
+ option "ui_statusbar_wrap"
+ option "wrap_enabled_max_lines", ie disabled word-wrap for huge files (>60K lines) to speedup
+ menu item "View - Toggle micromap"
+ menu item "View - Toggle unprinted chars - Spaces/tabs trailing only"
+ command "toggle word wrap mode (off/window/margin)"
+ Addon Manager: "Install from Github" saves version like "github 2016.10.20"
+ saving file error shows Retry/Cancel message (was OK only)
* removed option "autocomplete_autoshow_lexers" (use lexer-specific configs instead)
+ added syntax-theme color for php-tag (<?php ?>)
+ added hilite of php-tag in lexers: HTML, CSS, JS
+ added hilite of standard color names in CSS
* changed link chain of lexers. Was before: PHP includes HTML, HTML includes CSS/JS, CSS/JS includes nothing. Now: HTML includes PHP/CSS/JS, CSS/JS includes PHP, PHP includes nothing. File type *.php is now handled by HTML lexer.
- fixed case-insensitive search in menu dialogs for non-En chars
- fixed non-working plugin hotkeys after any plugin installing
- fixed parasite scrolling if file was closed not on top
- fixes in JSON, Pascal lexers
1.13.1 (2017/07)
- reworked part of syntax hilite code, and fixed old 2 bugs of incorrect selection(s) rendering
+ added commands "column select without key modifier: on/off"; when mode turned on: a) mouse drag makes column selection, b) Shift+arrows make column selection
+ added statusbar field, for above mode (shows "-" for normal mode, "||" for column mode)
+ console: context menu item "toggle word wrap"
+ option "ui_console_wrap"
+ improved C++ lexer (fixed detect funcs for tree, updated keywords)
+ Project Manager: reaction to Enter key; option 'Open file after Go To File command'
1.12.0 (2017/06)
+ supported addons "filetypeicons" for Project Manager, e.g. "VSCode Material 24x24"
+ Project Manager: option "Icons theme"
+ Addon Manager: integrated function of "Install from Github" plugin
+ Insert Time plugin rewritten, it has several date formats and config file
+ commands dialog: focus last chosen item
+ commands "scroll line up/down" keep caret on screen after scroll
+ commands "go to screen top/bottom"
+ find/replace: auto turn on multi-line, on Ctrl+Enter press
+ new main icon (by FTurtle)
+ Project Manager: file type icons (from VSCode program)
+ Project Manager: expand "." to full dir name
+ focused input (in find/replace/goto/console) has its border highlighted
+ option "ui_active_border"
+ options "find_hotkey_*" for hotkeys in find/replace dialog
+ find/replace: hotkey Enter on focused replace-box: runs "Replace next" and keeps focus
+ find/replace: set hotkey for "Find first" to Alt+Enter
* find/replace: changed hotkey for "Replace next" to Alt+Z, "Replace without find next" to Ctrl+Alt+Z
* find/replace: changed hotkeys Alt+5/Alt+6/Alt+7 to Alt+O/Alt+E/Alt+K
* changed icons of toolbar
* removed option "log_dialogs"
- Windows: one more fix to show prev instance with ui_one_instance (by @vhanla)
+ preinstalled plugin Tabs List
+ Project Manager: read only toplevel dirs from disk, and read other dirs only on unfolding them in treeview (patch by @pohmelie)
+ Project Manager: added toolbar
* finder: don't put backward selection on find-backward
* lexer help file converted from CHM format to ODT
- fix: loosing editor focus on Linux
+ preinstalled Project Manager plugin
+ can open folder names from command line, e.g. "cudatext ." like Atom/Sublime can do
+ menuitem "File - Open folder", it calls Project Manager
+ menuitem "Help - Check for updates", it calls Addon Manager
+ finder: replace-all made much faster (note: when confirmation is on, you will see unchanged text, it will replace later)
- finder: count-all must find w/o overlaps (non-regex mode)
+ distraction-free mode, see
+ added option "ui_fullscreen" with new values
* removed option "ui_fullscreen_hide"
* option "margin" changed default to 2000 (ie, hide)
- fixed: Win10 old issue when 2nd app instance cannot popup to front
- fixes for Windows high-dpi (dialogs, toolbar btns, folding icons)
- fixed for Windows high-dpi (scale more UI items)
- fix slow scrolling with minimap shown
+ option ui_tree_theme
+ command "place bookmarks on carets"
+ replace-all: show elapsed time in sec.
+ API (reworked dlg_proc)
+ Addon Manager: plugin Updater (like SynWrite)
* Addon Manager: used new channels url
+ Windows: support font ligatures (font Fira Code, only if caret not on line)
+ option font_ligatures
+ dialog Find: must show on top of CudaText dialogs
+ toolbar: add buttons Indent, Unindent
+ API (dlg_proc) for powerful dialogs
+ Linux: better support for font ligatures (std lexers changed a little)
* changed values for "newdoc_encoding" to short (like in API)
* changed suffix for macOS config keys from "__osx" to "__mac"
* changed: option "def_encoding_utf8" has OS suffix
- fix: Tab-key didnt jump in Find dialog
+ autocomplete listbox: chars .,;=<> should input to editor and close listbox
+ command line: added key --enclist
- fix: wrong minimap view color
- fix: minimap click scrolled editor to right
+ macOS: horiz scroll by trackpad should work now
+ option ui_sidebar_show
+ option mouse_wheel_speed_vert
+ option mouse_wheel_speed_horz
+ command line: improved help (--help)
+ command line: aliases for keys (-h -v -r -n -w)
+ command line: added key --enc=
* command line: renamed key: --readonly
* changed format of file date in session (was number, now readable)
- fix: tabs "x" must act on mouse-up
+ menu item "File - New from template" (same as click on arrow near "new icon")
+ updated FCL-JSON lib from current FPC trunk
+ dont escape "/" in user.json
* changed ui_sidebar_theme to "octicons_20x20"
+ option "ui_sidebar_theme"
* sidebar buttons for "Search", "Go to"; deleted toolbar icons for the same
* toolbar hidden by default
* you should delete old files data/sideicons/*.png, now folder here
+ command "hide dialog: find"
+ command "hide dialog: go to"
- fix: moving window to 2nd monitor (Win10)
- fix: auto-scroll-horz didnt start on moving mouse on scrollbar/minimap
- fix: vertical block selection until file end
* different UI of sidebar tabs (I find it more useful)
+ theme color "side-toolbar BG"
+ Ctrl+[drag-drop] does copying of block
- Alt+[drag-drop] fixed if scrolls editor up/down
+ command-line key --help (Linux users angry)
+ command-line key --version
+ command-line key --window=x,y,width,height
+ writes to stdout on using command-line filename/dir
- fix: macOS: caret not visible on dark theme
- fix: any click should show caret
+ Linux gtk2: middle-click-paste uses "primary selection" (alternate gtk clipboard), command Copy copies to primary selection too
+ option "mouse_mid_click_paste"
+ option "log_dialogs"
+ checkmarks visible for ConfigMenu's menu too
* default for "ui_statusbar..." changes {x} to {xx}
* renamed option "mouse_browser_scroll" to "mouse_mid_click_scroll"
* deleted option "backup" (warning shows if option set), use plugin Backup File instead
- Linux gtk2: keep clipboard text on exit
- fixes in API
- fixes, adds in API
+ Alt+click now does goto-definition
+ option "mouse_goto_definition"
+ option "autocomplete_autoshow_lexers" can have none-lexer as "-"
+ AddonManager: use temp-file on downloading (safer)
+ AddonManager: message retry/ignore/abort on download errors
+ addons install.inf has field for API ver
- dont suggest multi-line sel to Find dialog
+ API for timer
* change default for undo_after_save
+ find/replace: option "in selection"
+ command "goto last editing pos" uses find_indent_vert/horz
+ handled click on micromap
+ API additions
+ windows version-info, for antivir
+ improve report, after installing lexer
+ command "Fold level 1" (was only 2..9)
+ command "Fold all" folds with nested ranges
- fix lexer-parser, bug when Python part inside Latex file
- fix deleting block, till begin of line
- fix replace-all, regex "\n" to "__"
+ lexer Python: update for Py3.6
+ session contains state (visible/size) of side/bottom panels
+ micromap shows selections (e.g. after "Find/ Select all")
+ micromap shows marks of "Hilite Occurrences" plugin; added theme color
+ micromap shows marks of "Spell Checker"; added theme color
- fixed toolbar API
+ new dialog "Addon installed"
* don't use cudatext.exe.manifest file
+ big internal changes in core, to support inter-line gaps (it is like "phantoms" in Sublime)
+ option "gutter_fold_icons"
+ paint unprinted arrow-left at end-of-file
+ command "Copy bookmarked lines"
+ command "Delete bookmarked lines"
- fix: Linux: hotkeys broken, if Ru layout active at start (bug in Lazarus)
- fix: issues with caret/scroll, after fold/unfold commands