museoa / bqn-mode Goto Github PK
View Code? Open in Web Editor NEWEmacs mode for BQN programming language
License: GNU General Public License v3.0
Emacs mode for BQN programming language
License: GNU General Public License v3.0
bqn-symbols-doc--symbol-doc-table
is ugly as hell.
I came to notice it while improving the whole file at #29.
It looks like something machine-generated but without polishing.
My idea is to grab the documentation from BQN site:
Sometimes bugs are reported and (hopefully) fixed. However there is no warranty that they will not be back again in the future.
One of the hurdles to be investigated is how to handle with mostly visual things, like font lock.
It seems that the font face/s used in bqn-mode
interprets '#'
as a comment instead of a character. Tested on 0a51e09.
Code examples:
'#'= (⊢|·1‿3⊸ר↕)∘(¯1⊸⊑∘≢)⊸⊑
'#' = '.'
'#' = '#'
Right now, ·
and @
are marked as symbols (using "_") in syntax table. That feels strange and also causes misleading highlighting in cases like ·Foo
or Foo@
(they are valid syntactically but highlighted with error
face). It also causes some functions (e.g. isearch-forward-symbol-at-point
) to treat these characters as parts of the identifier.
I think that they should be marked as punctuations (using ".").
As explained in Cask Intro, it is a good addition to any professional Emacs project, being also useful for the issues #1 and #16.
There are also other options that I want to evaluate.
Should we add org-babel support within this repository? I suppose eventually you'd want to add it to org-mode itself, but it might be a good idea to include it here as a first go?
bqn-init
, added to bqn-inferior-mode-hook
in bqn-comint.el, does not exist.
It's nice to be able to evaluate code within a source file while seeing the results appear without visiting the comint buffer. I've implemented this, and could push it as a feature with some further tidying up.
If there's interest for it, I could also try to add evaluation results via an overlay in the buffer itself, so that the evaluation results would appear next to the code. It's a slight UI improvement to moving your eyes to the echo area at the bottom of the buffer.
I'm trying to get Emacs set up with BQN. I've installed bqn-mode, and the color syntax and backslash prefixes used to input BQN unicode notation are working fine. But how to evaluate code? After creating a file example1.bqn
with some simple expressions in it and making sure we're in bqn-mode, I try bqn-comint-send-buffer
, bqn-comint-send-region
, bqn-comint-send-buffer
etc. only to get:
Buffer ’*BQN*’ exists but has no live process
How to I get a "live process" running? Browsing through the functions in bqn-mode.el, it's not clear to me.
Copy-paste https://github.com/AndersonTorres/bqn-mode/issues/9
https://github.com/AndersonTorres is my "personal badge" on Github.
Usually I employ it to host personal projects and clones of other projects I am working on.
In this sense, bqn-mode is not a personal project of mine, but a collaborative one. It is better to put it on an impersonal umbrella.
A short time ago I created Museoa, a Github organization dedicated to save some lost source code around the internet, so that anyone can use it to mirror and contribute.
That being said, I will mirror bqn-mode to Museoa and treat https://github.com/AndersonTorres/bqn-mode as a fork, on an equal footing of all the other (currently 4) forks.
PING
@dlozeve
@doyougnu
@leahneukirchen
@sternenseemann
Please update your upstream remotes to https://github.com/museoa/bqn-mode
@richardwesthaver
@fishbacon
@doamatto
@Roya1jr
@luksamuk
@razetime
Please update your stars and bookmarks!
We need to study and implement the procedures needed to include this package in the MELPA database
Co-related issue on Melpa repo:
We need some form of code style and contribution guidelines in general.
Some useful links
https://github.com/alphapapa/emacs-package-dev-handbook
https://github.com/bbatsov/emacs-lisp-style-guide
https://gnu.org/software/emacs/manual/html_node/elisp/Tips.html
Another good thing to do is study and reuse the code of GNU APL Mode
Take notes on guidelines for MELPA compliance
I am interested in using conventional commits, but with my own twist: I don't like abbreviations as "feat", "chore" etc.
I had to change from the default S-
because it was conflicting with gnome on Ubuntu. I've tried a few different prefixes but noticed that every time it start with C-
some insert function would exist but have no keybinding:
list of keybinds
I have no idea why it would do something like that
Like i said i'm on ubuntu, With emacs version 28.2. I cloned this repo yesterday on the main branch
Hello All,
I've just submitted a PR for a line of commits I'd applied to my local branch recently. I believe they improve the usability of bqn-mode
greatly, and would be happy to discuss any required changes to get them merged.
Here is the Pull Request: #7
Tracking the (sub)issue cited on #1 (comment) by @phikal
If your first interaction with bqn-mode in a given Emacs session is to open a REPL via bqn-comint-run-process
, you get the error message in the title. A simple fix is to require bqn-key-prefix
in bqn-comint.el
.
(The fact that bqn-comint-run-process
has autoload suggests one should be able to run it first thing.)
This is the best versioning system for bqn-mode, given that it has no clear notion of breaking vs non-breaking change.
bqn-mode is a somewhat simple package, in the sense it is just a set of files to be read by Emacs. In this sense it works very well.
However, in order to include it in MELPA database, there are many rules to follow. We need some way to automatize this.
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.