Skip to content

Commit ee942e4

Browse files
committed
Improvements to docs intro
1 parent 6a3f2cd commit ee942e4

File tree

1 file changed

+51
-25
lines changed

1 file changed

+51
-25
lines changed

docs/intro.md

Lines changed: 51 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,33 @@ description: Welcome to Pragtical!
99

1010
![screenshot](/img/gallery/1.png)
1111

12-
Pragtical is a cross-platform code editor with a modern graphical interface
13-
developed using C and Lua(JIT), which utilizes SDL for input management and
14-
user interface rendering. It is a lighter alternative to web-based editors like
15-
VSCode and can be easily extended or themed with plugins written in Lua.
16-
Currently, it has syntax support for various programming languages (contributed
17-
by the community), adding new ones is straightforward. Some of its core
18-
features include: auto-completion, easy graphical configuration or advanced
19-
configuration with Lua, support for multiple file encodings, multi-threaded
20-
project-wide find and replace, a command palette for a keyboard-focused workflow,
21-
graphical and keyboard-driven file navigation, customizability of key bindings,
22-
and more. Other features shipped as plugins include:
23-
24-
- [LSP](/plugins?plugin=lsp) (implementing Language Server Protocol support for intellisense)
25-
- [EditorConfig](/plugins?plugin=editorconfig)
26-
- [Integrated Terminal](/plugins?plugin=terminal)
27-
- [TreeSitter](/plugins?plugin=evergreen)
28-
- [Code Formatters](/plugins?plugin=formatter)
29-
- [Source Control Management](/plugins?plugin=scm) (Git and Fossil)
12+
Pragtical is a cross-platform code editor with a modern graphical interface,
13+
developed using C and Lua(JIT), powered by [SDL] for rendering and input
14+
management. It serves as a lightweight alternative to web-based editors like
15+
VSCode and can be easily extended or themed with Lua plugins.
16+
17+
It supports syntax highlighting for various programming languages, thanks to
18+
contributions from the community, and adding new languages is straightforward.
19+
Some of its core features include:
20+
21+
- Auto-completion
22+
- Graphical and advanced configuration using Lua
23+
- Support for multiple file encodings
24+
- Multi-threaded project-wide find and replace
25+
- A command palette for a keyboard-focused workflow
26+
- Graphical and keyboard-driven file navigation
27+
- Customizable key bindings
28+
- Changeable color schemes with easy creation of custom schemes
29+
- A flexible plugin architecture for extending functionality
30+
31+
Examples of functionality added as plugins:
32+
33+
- [LSP] (implementing Language Server Protocol support for intellisense)
34+
- [EditorConfig]
35+
- [Integrated Terminal]
36+
- [TreeSitter]
37+
- [Code Formatters]
38+
- [Source Control Management] (Git and Fossil)
3039
- and more (https://github.com/pragtical/plugins)...
3140

3241
## History
@@ -52,14 +61,17 @@ discussions that slowdown progress, merging code when logical.
5261

5362
## Goals
5463

55-
We differentiate from our ancestors by striving to make Pragtical an editor
56-
that has amplified the set of features, to give you and us a better out of the
57-
box experience, while keeping an eye on performance and ease of extensibility.
58-
Also, we are simplifying the release process by reducing the amount of builds
59-
to choose from and trying a release often approach.
64+
We differentiate ourselves from our predecessors by striving to make Pragtical
65+
an editor that enhances the feature set, providing both you and us with a better
66+
out-of-the-box experience while maintaining a focus on performance and ease of
67+
extensibility. Additionally, we have simplified the release process by reducing
68+
the number of builds to choose from and adopting a more frequent release approach.
6069

6170
### Performance
6271

72+
Over time, Pragtical has adopted various enhancements for better editor
73+
performance, some of them are:
74+
6375
* **JIT** - Pragtical takes a LuaJIT first approach, meaning that our official
6476
builds use LuaJIT instead of PUC Lua for the performance benefits that come
6577
with it. Also having a LuaJIT first approach gives us FFI for free which allows
@@ -71,8 +83,14 @@ development ecosystem for the foreseeable future.
7183
practical to use, like file searching and replacing, where performance gains are
7284
evident.
7385

86+
* **Improved Job Scheduling** - internally the editor uses Lua coroutines
87+
to perform different types of task, the way these tasks are scheduled has been
88+
improved on Pragtical to provide better editor responsiveness.
89+
7490
### More Features
7591

92+
Some of the additional features and enhancements include:
93+
7694
* **Widgets** - more tightly integrated as part of the core for easier gui
7795
development and reusability, also ensuring that plugin developers can with
7896
more ease develop user interfaces when in need.
@@ -99,5 +117,13 @@ plugins to provide new CLI flags.
99117
* **Search/Replace** - Project-wide search and replace support, better user
100118
interface for both documents and project search/replace.
101119

102-
[Lite XL]: https://github.com/lite-xl/lite-xl
103-
[lite]: https://github.com/rxi/lite
120+
121+
[SDL]: https://www.libsdl.org/
122+
[LSP]: /plugins?plugin=lsp
123+
[EditorConfig]: /plugins?plugin=editorconfig
124+
[Integrated Terminal]: /plugins?plugin=terminal
125+
[TreeSitter]: /plugins?plugin=evergreen
126+
[Code Formatters]: /plugins?plugin=formatter
127+
[Source Control Management]: /plugins?plugin=scm
128+
[Lite XL]: https://github.com/lite-xl/lite-xl
129+
[lite]: https://github.com/rxi/lite

0 commit comments

Comments
 (0)