CudaText
   HOME

TheInfoList



OR:

CudaText, from Bosnian-Croatian-Montenegrin-Serbian ''Ĩuda'' ("wonders" or "miracles",
IPA IPA commonly refers to: * India pale ale, a style of beer * International Phonetic Alphabet, a system of phonetic notation * Isopropyl alcohol, a chemical compound IPA may also refer to: Organizations International * Insolvency Practitioners ...
: §uda, is a free open source cross-platform native
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
text and source code editor. CudaText supersedes its predecessor ''SynWrite'', no longer under development.


The Core Program

The core program (i.e. without add-ons/ plug-ins) is written in
Object Pascal Object Pascal is an extension to the programming language Pascal (programming language), Pascal that provides object-oriented programming (OOP) features such as Class (computer programming), classes and Method (computer programming), methods. ...
on the Lazarus IDE, which results in low resource requirements and the availability of native builds for
FreeBSD FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
and
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
. The settings are stored in
JSON JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attributeā€“value pairs and arrays (or other ser ...
-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

CudaText has an add-on system similar to Sublime Text or
Atom Every atom is composed of a nucleus and one or more electrons bound to the nucleus. The nucleus is made of one or more protons and a number of neutrons. Only the most common variety of hydrogen has no neutrons. Every solid, liquid, gas, and ...
. It is based on
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
(version 3.5 or newer). On Windows, the 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

CudaText has 13 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. * Formatter: Sub-plugin for CudaFormatter plugin, which allows to re-format text for some language. * Tree helper: Plugin, which shows Code Tree structure for some language.


Examples of add-ons


Plug-in: CudaLint

This is the linting framework, which is the host for second level plugins, "linters". Each linter is capable to check validity of source code for some syntax. For example, linter based on CppCheck is capable to check C++ source code. Linters analyze source code and find errors/warning in it, and framework displays these warning in the CudaText bottom panel, and adds colored bookmarks for them. Initially, the framework was made based on Sublime Linter plugin for Sublime Text 3. Linters require additional command-line tools installed, e.g. CppCheck, CssLint and others. Sometimes, they require
Node.js Node.js is an open-source server environment. Node.js is cross-platform and runs on Windows, Linux, Unix, and macOS. Node.js is a back-end JavaScript runtime environment. Node.js runs on the V8 JavaScript Engine and executes JavaScript code o ...
package.


Plug-in: Sync_Scroll

Since July 2018 CudaText has a sync
scroll A scroll (from the Old French ''escroe'' or ''escroue''), also known as a roll, is a roll of papyrus, parchment, or paper containing writing. Structure A scroll is usually partitioned into pages, which are sometimes separate sheets of papyrus ...
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 In computing, the utility diff is a data comparison tool that computes and displays the differences between the contents of files. Unlike edit distance notions used for other purposes, diff is line-oriented rather than character-oriented, but it ...
) and quite indispensable for manually annotating
parallel text A parallel text is a text placed alongside its translation or translations. Parallel text alignment is the identification of the corresponding sentences in both halves of the parallel text. The Loeb Classical Library and the Clay Sanskrit Libra ...
corpora.


Plug-in: Text_Statistics

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

*
Syntax highlighting Syntax highlighting is a feature of text editors that are used for programming, scripting, or markup languages, such as HTML. The feature displays text, especially source code, in different colours and fonts according to the category of terms ...
for all common languages: C, C++, Java, JavaScript, HTML, CSS, PHP, Python, Go, XML; it is supported by "lexers"; more tha
200 lexers
is created *
Code folding Code or text folding, or less commonly holophrasting, is a feature of some graphical user interfaces that allows the user to selectively hide ("fold") or display ("unfold") parts of a document. This allows the user to manage large amounts of text ...
* 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 of unlimited size Features for HTML/CSS coding: * Smart auto-completion for HTML, CSS * HTML tags completion with Tab-key (Snippets plugin) * HTML color code underlining * Built-in image viewer * Tooltip preview for picture files and HTML entities (plugin)


See also

*
List of text editors The following is a list of notable text editors. Graphical and text user interface The following editors can either be used with a graphical user interface or a text user interface. Graphical user interface Text user interface Sys ...
*
Comparison of text editors This article provides basic comparisons for notable text editors. More feature details for text editors are available from the '':Text editor features, Category of text editor features'' and from the individual products' articles. This article may ...
*
List of HTML editors The following is a list of HTML editors. Source code editors Source code editors evolved from basic text editors, but include additional tools specifically geared toward handling code. *ActiveState Komodo *Aptana *Arachnophilia *Atom *BBEdit ...
*
Comparison of HTML editors The following tables compare general and technical information for a number of HTML editors. Please see the individual products' articles for further information, comparison of text editors for information on text editors, and comparison of word ...


References


External links


Official website
{{HTML editors Free software programmed in Pascal Cross-platform software Cross-platform free software HTML editors Linux text editors MacOS text editors Text editors Free text editors Windows text editors XML editors Unix text editors Pascal (programming language) software