carl-erwin / unlimited Goto Github PK
View Code? Open in Web Editor NEWAn experimental text editor written in Rust with very large file support
License: MIT License
An experimental text editor written in Rust with very large file support
License: MIT License
rust version: 1.69.0
Windows 10
Compile error.
Installing unlimited v0.0.5-dev (E:\Documents\unlimited) Updating crates.io index Updating git repository
https://github.com/carl-erwin/crossterm`
Compiling unlimited v0.0.5-dev (E:\Documents\unlimited)
error[E0433]: failed to resolve: could not find unix
in os
--> src\core\buffer\buffer.rs:1017:22
|
1017 | use std::os::unix::fs::PermissionsExt;
| ^^^^ could not find unix
in os
error[E0599]: no function or associated item named from_mode
found for struct Permissions
in the current scope
--> src\core\buffer\buffer.rs:1024:45
|
1024 | Err(_) => std::fs::Permissions::from_mode(0o600),
| ^^^^^^^^^ function or associated item not found in Permissions
Some errors have detailed explanations: E0433, E0599.
For more information about an error, try rustc --explain E0433
.
error: could not compile unlimited
due to 2 previous errors
error: failed to compile unlimited v0.0.5-dev (E:\Documents\unlimited)
, intermediate artifacts can be found at E:\Documents\unlimited\target
`
Crossterm allows better event handling.
It allows simple filtering of key modifiers (ctrl, alt, shift).
This will let us do better input mapping.
You can submit your crazy ideas :-)
ALL IN ONE, UNLIMITED!
goals below may be too many, but we can do it one by one
After I using vim, I wonder why can't we use ESC
, v
, y
, p
in bash shell
then, I found it has an weak pseudo-vi mode in bash shell, only work in current line(INPUT AREA) with limited function.
It can't even select or copy text returned by some command!
what if we can use single ONE consistent key mapping in operating all text in screen, shell, editor to switch different modes and move, select, delete, copy...
what if we defined
Shift-ESC
targeting on Chars showed on SCREEN
ESC
targeting on Chars showed on current line(input area of SHELL
also this program support detect, reprocess status of keys.
Including 3 status: tap, hold, release of a key can emit different function(e.g. key remapping , text crud, cursor moving, window switch)
Including sequence, concurrency of many keys
Including condition depending on which app or which time
everything is programmable, not only text, but also your operations of keyboard can determine all behavior of keyboards, screen chars, time, your most frequent functions of your works!
Every crazy thing start on the your tap, start with UNLIMITED!
=====================================================================================================
more detail examples
basic models: screen
handle screen session or windows or panes
including in Chromium, MPV, Terminal... IN USING SAME PATTERN OF KEY MAPPING!
What if you remap CapsLock
into ESC
, Ctrl
and Capslock
depending on when you are tapping and releasing it
, holding it
and holding it with Enter
.
What if you wanna copy some text returned by shell: "Command 'unlimited' not found, but can be installed with: sudo apt install unlimited # version 1.2.3", JUST by tapping Shift-ESC
, k
, yy
, p
? and UNLIMITED is installed now!
What if you wanna PageUp
long long text returned by a command in SHELL by tappingShift-ESC
, Alt-V
instead Ctrl-Shift-Up
?(Key Up-arrow is too far away your finger while Alt
is convenient for your big finger)?
What if you wanna Shift-Tab
in a reverse direction?
What if you wanna Ctrl-W
to open a new window for web browser?
The job of remapping or programming on keys is done either by remapping-keys tool or other programs. The advantage of ALL IN ONE is that the daemon will program your operations on keyboards across Programs!Thus if you select a word, after v
, e
, the operation could pop a dict in the corner of screen and show the meaning of the word and pronounce it automatically. Also if you select a word, after v
, e
and Ctrl-D
, it will open browser and search this function in https://docs.rs
. or if any puzzle, continue tap g
to google it!
and if this program is done, it could detect `I'm writing github issue where there should exist a UNLIMITED help me typing! thus it will handle all my keyboard operation and all text of issues, reprocess to keys that the github issue support!"
You may wonder why not just typed in editor than copy to github issue? Because I wanna both of their power working together!!
When doing edits the view should track/display the modified area.
The editor should support very large files.
This is a cool project. Unfortunately I'm not sure how to search for text within a file. I tried pressing F1 to look at the help page, but didn't see it. Also, I was unable to scroll the F1 help page (not sure if there is a special keybinding for that).
The user interface must live in a separate thread from the core.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.