CudaText Documentation
repository·master·Indexed 25 days ago
https://github.com/alexey-t/cudatextCudaText is a lightweight, open-source, cross-platform text editor written in Free Pascal using the Lazarus IDE. This documentation covers the core editor, its Plugin API, and various plugins including the Options Editor, Project Manager (cuda_project_man), Snippets Panel, and Tabs List (cuda_tabs_list).
What's inside CudaText
- CudaText is an open-source, cross-platform text editor written in Free Pascal using the Lazarus IDE. It is designed for high performance and extensibility.
Overview of the cuda_tabs_list plugin
masterThe
cuda_tabs_listplugin provides a "Tabs" panel in the CudaText side-panel that displays a list of all currently opened editor tabs.Key Features:
- Grouping: Tabs are visually grouped by editor groups (e.g., "Group 1", "Floating 1").
- Navigation: Click any tab in the list to focus it in the editor.
- Reordering: Supports drag-and-drop to reorder tabs, including moving them between different groups.
- Context Menu: Right-click a tab to access options like closing the tab or copying the file path.
- Automatic Updates: The list synchronizes automatically when files are opened, closed, or renamed.
Overview of VS Code 16x16 icons
masterThis directory contains Visual Studio Code icons that have been converted to 16x16 PNG format using ImageMagick. These icons are intended for use within CudaText's filetype icon sets.Manage projects with the CudaText Project Manager plugin
masterThe Project Manager plugin allows you to manage collections of files and folders using
.cuda-projfiles. This plugin adds a 'Project' panel to the CudaText side panel, providing a tree-view interface to navigate and organize your project structure.Key features include:
- Creating and opening project files.
- Managing root nodes (files and directories).
- Accessing recent projects.
- Viewing project properties and configuration.
Identify Font Awesome icon source for project toolbars
masterThedefault_16x16icon set for project toolbars in CudaText is based on Font Awesome, containing 973 vector (SVG) icons. These icons are attributed to Dave Gandy and are sourced from Font Awesome.Attribution for the 'gear' icon
masterThe 'gear' icon used in thedefault_white_16x16toolbar icon set is attributed to Atlas. It is licensed under Creative Commons Attribution 3.0 Unported.Use the Sort plugin to manipulate lines
masterThe Sort plugin provides commands and a dialog box with various sorting and line manipulation options. Available operations include:
Sorting & Shuffling:
- Sort lines (via dialog with options)
- Reverse lines
- Shuffle lines
Duplicate & Uniqueness Management:
- Extract duplicate lines
- Extract duplicate lines (ignore case)
- Extract unique lines
- Remove duplicate lines
- Remove duplicate lines + origins
- Remove adjacent duplicate lines
Blank Line Management:
- Remove blank lines
- Remove adjacent blank lines
Specialized Sorting:
- INI files: Sort sections + keys, or sort sections without keys.
- E-mail lists: Sort e-mail list by domain (sorts the entire file as a list of e-mails, first by the domain after
@, then by the name before@).
Use the Options Editor Lite plugin
masterThe Options Editor Lite plugin provides a dialog for configuring CudaText options. It reads available options from
default.jsonand allows you to modify them through a graphical interface.Key Features
- Grouped Sections: Options are organized into sections as defined in
default.json. - Scope Management: By default, changes are saved to
user.json(Scope:User). However, you can select a Lexer scope to apply specific configurations to a particular lexer. - Interactive Interface: Options are displayed in a table. Clicking an option reveals its current value and its scope.
Supported Input Types
- Boolean options: Uses a checkbox.
- String/Number options: Uses a text input field.
- Limited value options: Uses a combobox (dropdown) to select from predefined variants.
- Font-name options: Uses a combobox listing OS-dependent "default" fonts and installed system fonts.
Table Customization
Clicking on the list header opens a menu that allows you to:
- Choose which columns are visible.
- Configure column widths.
- Grouped Sections: Options are organized into sections as defined in
Use the Options Editor plugin to configure CudaText
masterThe Options Editor plugin provides a graphical dialog to configure all CudaText options defined in
default.json.Key Features:
- Grouped Configuration: Options are organized into sections as defined in
default.json. - Value Management:
- Click an option to view its default value.
- Change the current value using the provided input type.
- Use the Reset button to revert an option to its default value.
- Input Types:
- Boolean: Displayed as a checkbox.
- String/Number: Displayed as an input field.
- Limited Values: Displayed as a combobox (dropdown).
- Font Names: Displayed as a combobox containing OS-dependent 'default' fonts and system fonts.
- Storage Scopes:
- By default, changes are saved to
user.json. - Enabling the "For Lexer" checkbox allows you to save configuration specifically for the current lexer.
- By default, changes are saved to
- Grouped Configuration: Options are organized into sections as defined in
Manage projects with the cuda_project_man plugin
masterThe
cuda_project_manplugin allows you to manage collections of files and directories as "projects" using.cuda-projfiles. Once installed, a "Project" panel is available in the CudaText side panel.Project Management via Context Menu
Project file operations:
- New project: Create a new project file.
- Open project...: Open an existing project.
- Recent projects: Access a list of recently opened projects.
- Save project as...: Save the current project with a new name.
Root node operations (managing the project structure):
- Add folder...: Add a directory to the project root.
- Add file...: Add a file to the project root.
- Clear project: Remove all nodes from the project.
- Remove node: Removes a node at the top project level. Note that if a node is selected, the selection is ignored and the top-level node is removed.
Other operations:
- Refresh: Update the project view.
- Go to file...: Quickly navigate to a file within the project.
- Project properties: View/edit project metadata.
- Config...: Access plugin configuration.
Configure the Sort plugin to sort all text without selection
masterBy default, the plugin may require a selection. To allow the plugin to handle all text in the document when no text is selected, you must modify the plugin configuration.
- Open the plugin configuration via
Options / Settings-plugins / Sort / Config. - Add or update the
allow_sort_all_when_none_selectedoption in theplugins.inifile under the[sort]section.
Set the value to
1to enable this behavior.[sort] allow_sort_all_when_none_selected=1- Open the plugin configuration via
Access CudaText plugin documentation via Wiki
masterFor detailed information regarding CudaText add-ons and plugins, refer to the official Free Pascal Wiki links provided below. These resources contain the necessary documentation for understanding and managing the plugin ecosystem.
https://wiki.freepascal.org/CudaText#Add-ons https://wiki.freepascal.org/CudaText_plugins