Comments (4)
Using flycheck is much too heavy-handed here. We could just adapt the peg to either fail if it doesn't make it to the end of the string, or capture and emit the rest of the input verbatim from where the match failed.
from spork.
FWIW, it looks like it's not necessarily just the last line:
$ janet -l spork/fmt
Janet 1.13.2-dev-local linux/x64 - '(doc)' for help
repl:1:> (def c "(def a 1)\n(def b 2)\ndef c (+ a b))\n(print c)\n(print c)")
"(def a 1)\n(def b 2)\ndef c (+ a b))\n(print c)\n(print c)"
repl:2:> (format-print c)
(def a 1)
(def b 2)
def c (+ a b)
nil
repl:3:>
Is it possible to use the new flycheck
function from boot.janet
usefully in this context before trying to format?
On a side note, for judge-gen, I've been thinking about whether to run code through a linter (e.g. janet -k) before trying to process incoming source code. Processing broken code can produce strange results.
from spork.
I want to take a stab at this, but I would like to ask about the best way you see here @bakpakin. I still have a problem grasping your PEGs, yet I still have the desire to get to this level of thought. And every help with it is appreciated.
from spork.
In #21, I propose a fix with the first solution: fail when peg does not make it to the end.
from spork.
Related Issues (20)
- Add tooling for `janet_def` to cjanet HOT 2
- Missing prime number generator HOT 20
- Prime factorization? HOT 14
- Janet 1.30 - Spork not building on Windows 11 Pro Build 22621 HOT 3
- spork/json crashes janet on cycles
- Add chance to set the HTTP status in httpf HOT 2
- in argparse, a cfunction cannot be used for :map HOT 7
- `json/encode` and representing objects with `null` values HOT 4
- janet-netrepl -l VALUE and near-immediate client disconnection
- No error feedback when coerce-to-env fails for netrepl's server function HOT 1
- Extra call to string in receiver function returned by make-recv?
- getline: Ctrl-k does not delete from the cursor to the end of the line
- Do `exec-slurp` and `exec-slurp-all` benefit from tighter resource control? HOT 4
- spork/mdz eats whitespace HOT 4
- Curious code in `math.janet` HOT 3
- spork/http/middleware asserts incorrectly when number is an argument HOT 2
- Hang during `jpm test` at `test/suit0002.janet` HOT 2
- Capturing functions for the temple
- janet-netrepl and janet-format missing from `bundle/init.janet`? HOT 1
- `(use spork)` fails if installation done via `bundle/install`
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 spork.