Comments (4)
C++ uses single quotes as a separator: 100'000, but I think I like Python-style underscores better.
I wouldn't mind single quotes too, especially since they don't require two keypresses to type as opposed to an underscore (Shift+- on my layout). This is layout-dependent though. Regardless, I think it would be nice to allow setting the separator from a predetermined list of allowed values (#107).
In Python, you are allowed to put those separators everywhere you want. You can write 230_0_0_000, if you desire. I was thinking if it would be beneficial to only allow the separators to appear in the "right" spots (1000-separators), as in 23_000_000?
I can see the advantage of this (the user can know for sure that they didn't put underscores in the wrong places, or added or removed digits by accident), and it's also in line with Insect's philosophy of being strict rather than lax. However, I fear that this may preclude edge use cases (e.g. if somebody wants to separate by the 10 thousands instead of thousands), or negatively affect editing experience (e.g. if a user wants to change 2_123_450
to 2_123_45
, they have to move the separators appropriately, which kind of sucks). I don't know how realistic those concerns are though, so some real usage may be warranted to gauge the impact of these and other issues.
The alternatives to this that come to my mind:
- Allow configuring whether separators should only separate by the thousands
- Allow a "consistent" number of digits between each separator (i.e.
2_0_0
and2_0000_0000
are okay, but2_00_0
is not) - Just allow separators anywhere in a number
from insect.
Sounds great. C++ uses single quotes as a separator: 100'000
, but I think I like Python-style underscores better. In Python, you are allowed to put those separators everywhere you want. You can write 230_0_0_000
, if you desire. I was thinking if it would be beneficial to only allow the separators to appear in the "right" spots (1000-separators), as in 23_000_000
?
from insect.
Also, I just thought of this idea that I think is awesome but admittedly somewhat unorthodox and possibly non-trivial: auto-insert underscores in the input. For instance, if I type 2000
, Insect would automatically show an underscore after the 2, like 2_000
.
from insect.
This is now supported in Numbat, you can try it here: https://numbat.dev/?q=200_000
from insect.
Related Issues (20)
- Generate linux binaries for armhf and arm64 HOT 1
- Insect shows errors if `xdgBasedir.data` or any of its parents don't exist HOT 6
- [cli] Change unconventional behavior of Ctrl-C HOT 2
- Document .insectrc
- Use insectrc in non-interactive operation HOT 1
- Add optional precision argument to round() HOT 6
- `insect` command accepts commands such as quit (both as argument and from stdin) HOT 1
- `copy`/`cp` doesn't seem to work on Wayland
- Output error when input to factorial is not a non-negative integer HOT 2
- Dummy Units for calculating Workhours? (aka man-hours, person-hours, person-days, ...) HOT 5
- Allow repeated factorial HOT 1
- Unit 'knot' is not documented HOT 1
- Variadic functions HOT 4
- Support for Oersted: unit of auxiliary magnetic field strength H HOT 15
- Support for Planck units and Stoney units. HOT 8
- Error making a simple division HOT 2
- The results are not accurate: `10^18 + 1 = 1000000000000000000` HOT 1
- Convert output to Standard Scientific Notation HOT 2
- Insect giving incorrect result! HOT 1
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 insect.