CudaText

From Free Pascal wiki
Revision as of 16:57, 31 August 2015 by Alextp (talk | contribs) (→‎Config)
Jump to navigationJump to search

About

CudaText is a cross-platform text editor, written in Lazarus.

  • Syntax highlight for many languages: C, C++, Java, Pascal, JavaScript, HTML, CSS, PHP, Python, XML... totally about 140 lexers exist.
  • Code folding.
  • Multi-carets, multi-selections.
  • Find/replace with regex.
  • Command palette like ST3.
  • Text configs.
  • Made on ATSynEdit engine.

Image:

cudatext.png

Download

Homepage: http://uvviewsoft.com/

Versions for Windows, Linux, OS X exist.

Config

App has config system like ST3 editor: call menuitem "Settings-default" and you see default config. Copy any lines to config called by "Settings-user" and edit lines in this user config. Config in JSON. Default config is not read, only user config is read.

Lexer-override config: settings for single lexer only. E.g., you open Pascal file, config "lexer Pascal.json" is read after "user.json" config.

File-types config: specify in it mapping between file types (name or extension) and lexer names. Such mapping exists in lexer-library, this config overrides it.

Color-theme: one of color theme configs may be selected via Options menu. It will define all colors in app. You can create new color themes also via Options menu, "Color theme" dialog.

Mouse shortcuts

Multi-carets:

  • Ctrl+click - add/delete caret
  • Ctrl+drag - add caret with selection
  • Ctrl+Shift+click - add carets column in several lines (from previous caret to clicked line)

Select:

  • Alt+drag - select column of text (Note: it may look weird if word-wrap on, because wrap is not considered here at all. Simple rectangle of coordinates [x1,y1]-[x2,y2] is always selected, even if this gives bad looking screen)
  • drag on gutter's line numbers - select by entire lines
  • double-click and immediately drag - select text by words

Clicks:

  • double-click - select clicked word
  • triple-click - select entire line (limited by end-of-lines)
  • middle-button click - start "Browser Scroll" mode: circle mark appears and mouse moving around this mark auto-scrolls text in 4 directions; speed of scrolling depends on distance of cursor from circle mark (any click to turn off)

Lexers

Lexers (syntax hiliters) from SynWrite editor used. Used EControl.ru syntax parser with mods. Main mod is support for folding in Python.

  • Dialog "Lexer prop" allows to config some props of current lexer (selected via statusbar panel in CudaText). You can config: lexer name, file types, line-comment-string for language, styles (colors, font-styles, border-styles).
  • Dialog "Lexer library" shows list of all lexers. It's file "data/lexlib/lib.lxl" (can be changed by option). You can delete items, or config them.

Editing lexers

You can modify/create lexers. But not in CudaText. Install SynWrite (needed Wine on Linux) and in it you have lexer editor dialog.

  • In Synwrite call menu "Options--Addons manager--Install", install needed lexer from web. Synwrite lexer-library must have lexer before you edit it.
  • In Synwrite call "Lexer prop" dialog and edit all you need. Or make new lexer.
  • In Synwrite install "ExLexer" addon. Call it in "Plugins" menu, select needed lexer. You have exported zip file.
  • In CudaText open this zip file. Confirm installation of lexer.

FAQ

1) I installed app: Linux (deb), or OSX. I see outdated history.txt, and outdated default settings.

You need to delete dirs (data, readme, settings_default) inside "~/.cudatext". They will be re-created on next program run (from "/usr/share/cudatext" on Linux, or from app resources on OSX).

2) How to config colors?

Open dir "data/themes" (inside portable dir, or inside "~/.cudatext" for installed app). Add json file(s) there. Select them in program in "Color themes" menu.