Comments (7)
I don't know if that answers your question, but I've compiled nnn
to WebAssembly. It will be in the next version of a-Shell (within a few days in TestFlight version, with a few weeks on the AppStore). I'll let you know when it's available. Also in the next version of a-Shell: ncurses (compiled to WebAssembly), which will greatly help in porting other programs.
from a-shell.
Amazing! Thanks!
from a-shell.
The TestFlight version of a-Shell mini with nnn
included is here: https://testflight.apple.com/join/REdHww5C
I couldn't make it "edit" files (e) or display file details (f), but you can view the file (right arrow or l) and opent it in another app (o).
from a-shell.
thank you. this is a really promising progress!
I have found three bugs of nnn so far:
- it does not display files with Korean file names ( or probably any other double byte characters )
- file copy or move does not work
- When making a new file, Canceling from prompt by escape key does not work
from a-shell.
Hi, thank you for raising all these points. There's a new a-Shell version out on TestFlight. It displays file names with UTF-8 characters, it has better copy and move (that one was tricky: the previous version was launching "cp", but asking for confirmation in an invisible screen. The new one asks for confirmation using hacks). I'm not sure about the issue with the escape key.
from a-shell.
Thanks. I’ve just tested it and observed the following issues:
- File copy or move operations still fail and result in an error message saying “failed.”
- It displays files with Korean file names, but there are some bugs depending on the OS:
• On macOS Sonoma 14.5 with an M1 chip, it works fine.
• On iOS 17.5.1, some file names are not displayed correctly, but theopen
function works fine.
• On visionOS, some file names are not displayed correctly and theopen
function does not work.
I haven’t had enough time to test with various file names yet, but it seems characters including ‘ㅇ’ may be causing problems.
An example of a file name:
통장 사본 (계좌 확인서).pdf (: original file name)
통ㅈ 사보 (계좌 확ㅇ).pdf (:file name displayed on nnn for a-Shell mini)
On second thought, the ‘jongseong’ of Korean characters might actually be causing this issue. Please refer to the following quotes from Wikipedia:
https://en.wikipedia.org/wiki/Hangul
Morpho-syllabic blocks
Except for a few grammatical morphemes prior to the twentieth century, no letter stands alone to represent elements of the Korean language. Instead, letters are grouped into syllabic or morphemic blocks of at least two and often three: a consonant or a doubled consonant called the initial (초성, 初聲 choseong syllable onset), a vowel or diphthong called the medial (중성, 中聲 jungseong syllable nucleus), and, optionally, a consonant or consonant cluster at the end of the syllable, called the final (종성, 終聲 jongseong syllable coda). When a syllable has no actual initial consonant, the null initial ㅇ ieung is used as a placeholder. (In the modern Korean alphabet, placeholders are not used for the final position.) Thus, a block contains a minimum of two letters, an initial and a medial. Although the Korean alphabet had historically been organized into syllables, in the modern orthography it is first organized into morphemes, and only secondarily into syllables within those morphemes, with the exception that single-consonant morphemes may not be written alone.
The sets of initial and final consonants are not the same. For instance, ㅇ ng only occurs in final position, while the doubled letters that can occur in final position are limited to ㅆ ss and ㄲ kk.
Not including obsolete letters, 11,172 blocks are possible in the Korean alphabet.[77]
from a-shell.
I believe I have found a clue to solving the issue with Korean file names. I copied some files from Apple Vision Pro to an Ubuntu Linux server using scp. When I connected to the Linux server via SSH from the macOS terminal and launched nnn, I noticed a similar problem. While I should have tried listing the file names using the ls command first, I instead attempted to convert the file names on the Linux server with the following command:
convmv -f utf8 -t utf-8-strict -r --nfc --replace --notest ./
After running this command, nnn displayed the file names correctly. This suggests two things:
-
The convmv command is already installed in my a-Shell app (probably via the pip command), but it never actually worked properly.
-
The Linux version of nnn does not seem to support NFD-type Unicode normalization, and your a-Shell version of nnn also lacks support for NFD.
Please note that Apple devices use NFD as the standard Unicode normalization, whereas Microsoft does not support NFD.
For more information, please refer to the following link:
https://en.wikipedia.org/wiki/Unicode_equivalence#Normal_forms
from a-shell.
Related Issues (20)
- Include `aria2c` on a-shell mini HOT 1
- Support SSH onnections into a-shell (`sshd`) HOT 3
- Word characters differ from bash HOT 1
- Bookmarks not working in Python script HOT 1
- Golang HOT 1
- Incorrect path, I do not know how to access the files path HOT 2
- python cryptography upgrade HOT 1
- Internalbrowser (webview) doesn't display text picker UI HOT 3
- `pkg install` fails with "WASI Exit error: 1" HOT 12
- Building wasi-sdk on Linux HOT 3
- is it possible to make mlx work under a-shell? HOT 2
- install scipy or carnets shortcuts
- WASI-SDK readlink() has invalid error handling HOT 2
- ReferenceError: WebAssembly Packages have Stopped Functioning HOT 3
- ffmpeg drawtext filter is unavailable on 1.15.0
- wasm3 cannot output colorized text HOT 16
- Pkg not working HOT 1
- Clang and clang++ not working HOT 3
- Feature Request: True Full Screen
- mediainfo command for a-Shell
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from a-shell.