CudaText

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
CudaText
CudaText logo.png
A screenshot of CudaText on macOS showing a section of the CudaText source code.
A screenshot of CudaText on macOS showing a section of the CudaText source code.
Developer(s)Alexey Torgashin (alexey_t), Andrey Kvichanskiy (kvichans)
Initial releaseRegistered on sf.net: September 27, 2015; 3 years ago (2015-09-27)
Stable release
1.64.0 / October 18, 2018; 43 days ago (2018-10-18)[1]
Written inObject Pascal on Lazarus
Operating systemOfficial packages for: Linux (x86, amd64, arm), macOS, Microsoft Windows 32/64-bit, FreeBSD
PlatformIA-32, x86-64, arm
Sizeabout 14 MiB (without Python)
TypeSource code editor
LicenseMPL 2.0
Websiteuvviewsoft.com/cudatext/

CudaText, from Bosnian-Croatian-Montenegrin-Serbian čuda (“wonders” or “miracles”, IPA: [ʧuda]), is a free open source cross-platform native GUI text and source code editor. CudaText supersedes its predecessor SynWrite, which is not actively developed anymore.

The Core Program[edit]

The core program (i.e. without add-ons/plug-ins) is written in Object Pascal on the Lazarus IDE, which results in low resource requirements and the availability of native builds for FreeBSD, Linux, macOS and Windows. The settings are stored in JSON-files, including one file for the standard settings and another one for user-altered settings, that override the values from the standard settings file.

Add-on System and Python[edit]

CudaText has a similar add-on system like Sublime Text or Atom. It is based on Python (version 3.3 or newer). On Windows, Python engine is shipped with the program. On Unix-based systems, in order to make use of add-ons, Python has to be installed. The macOS doesn't include it, so it has to be downloaded and installed separately. On macOS the package including the 32-bit version is required. Also CudaText's Check for updates function requires Python.

Types of Add-ons[edit]

CudaText has (for July 2018) 11 types of add-ons:

  • Code tree icons: Icon set, which is used in Code Tree panel.
  • File-type icons: Icon set, which is used in Project Manager panel and on tab captions.
  • Toolbar theme: Icon set, which is used on horizontal toolbar.
  • Toolbar x icons: Icon set, from which user can choose icons for user-added buttons.
  • Sidebar theme: Icon set, which is used on sidebar.
  • Lexer: Data file to support syntax highlighting for some language.
  • Plugin: Any Python-based extension.
  • Snippets: Set of files, which adds code "snippets" for some language, used with Snippets plugin.
  • Color theme: Set of colors for CudaText interface and its lexers.
  • Translation: Data file to support app localization to some language.
  • Linter: Sub-plugin for CudaLint plugin, which enables linting (source code checking) for some language.
  • Tree helper: Sub-plugin for CudaTree plugin, which shows Code Tree structure for some language.

Examples of Add-ons[edit]

Plug-in: Sync_Scroll[edit]

Since July 2018 CudaText has a sync scroll plug-in. This plug-in allows parallel scrolling through two text files with synchronised lines, i.e. two tabs in different vertical or horizontal groups display always the lines with the same numbers. This feature is useful for manual comparisons of two files (manual diff) and quite indispensable for manually annotating parallel text corpora.

Plug-in: Text_Statistics[edit]

The text statistics plug-in is a tool for linguists. It displays the number of lines, words, letters and all characters as well as the 30 most common words and the sentences with n words, i.e. a short statistic of the number of sentences with 1 to 9 elements.

Feature List[edit]

  • Syntax highlighting for all common languages: C, C++, Java, JavaScript, HTML, CSS, PHP, Python, XML; it is supported by "lexers"; more than 200 lexers is created
  • Code folding
  • Code tree, i.e. list of functions/classes/etc in the side panel
  • Multi-carets
  • Multi-selections
  • Search/replace with regular expressions
  • Supports many encodings
  • Simple auto-completion (fixed list) for some lexers
  • Extendable via Python plugins
  • Command palette (mimics Sublime Text behaviour)
  • Configs in JSON format
  • Based on ATSynEdit engine
  • Includes hex viewer for files on inlimited size

Features for HTML/CSS coding:

  • Smart auto-completion for HTML, CSS.
  • HTML tags completion with Tab-key (Snippets plugin).
  • HTML color codes underline.
  • Viewer for picture files (jpeg/png/bmp/ico).
  • Tooltip preview for picture files and HTML entities (plugin).

See also[edit]

References[edit]

External links[edit]