CudaText


CudaText, from Bosnian-Croatian-Montenegrin-Serbian č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

The core program 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

CudaText has a similar add-on system like Sublime Text or Atom. It is based on Python. 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

CudaText has 13 types 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 package.

Plug-in: Sync_Scroll

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 and quite indispensable for manually annotating parallel text 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

Features for HTML/CSS coding: