Comments (8)
Perhaps putting something appropriate in this section could improve things a bit.
from janet-lang.org.
I looked over a collection of project.janet
files I had collected locally and found the following "top-level" keywords (filtered out some typos) used in declare-project
:
:author
:authors
:dependencies
:desc
:description
:doc
:email
:jeep/dev-dependencies
:jeep/tree
:license
:name
:repo
:source
:url
:version
I think some of these are "unofficial" in the sense that AFAIU they don't have any current meaning (code-wise) from the perspective of jpm:
:authors
:desc
:doc
:email
:jeep/dev-dependencies
:jeep/tree
:source
For comparison, in the Clojure world, I think there might be a convention of using prefixed keywords for naming some kinds of things to avoid collisions. I guess jeep is doing that sort of thing with :jeep/tree
.
FWIW :tag
(mentioned in the OP), is not a "top-level" keyword so it didn't turn up during this investigation.
On a side note, there is a content
subdirectory at the jpm repository now. Perhaps there is an intent to separate out jpm docs eventually.
from janet-lang.org.
Thanks for investigating this, @sogaiu !
from janet-lang.org.
Regarding :tag
and some others, currently, there is the following code in jpm's pm.janet
:
(if (dictionary? bundle)
(do
(set repo (or (get bundle :url) (get bundle :repo)))
(set tag (or (get bundle :tag) (get bundle :sha) (get bundle :commit) (get bundle :ref)))
(set btype (get bundle :type :git))
(set shallow (get bundle :shallow false)))
As a list that includes:
:url
:repo
:tag
:sha
:commit
:ref
:type
:shallow
In the wild though, so far I've only noticed :tag
and :repo
.
from janet-lang.org.
Closing this for now.
from janet-lang.org.
Wait though. Looks like this should stay open until someone submits a PR for the jpm doc page that includes sogaiu's findings.
As an aside, I'm surprised that jpm allows synonyms like that in the declare-project
. Seems like it would be simpler in the long run to have one and only one keyword for each item.
from janet-lang.org.
I don't think that synonyms are being allowed but rather that people have made typos or were mistaken. May be that's not correct though.
from janet-lang.org.
I'm in the process of retiring this github account. Create a new issue if you want.
from janet-lang.org.
Related Issues (20)
- Document on emscripten outdated HOT 3
- Auto-focusing search means you can't link to specific API functions HOT 1
- Example in "Installing a module" points at archived repository
- PEG specials `true` and `false` lack docs on PEG page HOT 2
- Related Windows instructions out-of-sync
- Bytecode reference table lacks entry for divf HOT 1
- Several (probably all) community examples links of spork functions are broken. HOT 9
- Bytecode reference table lacks entry for subim
- Non-ideal discoverability of Janet divergences from other programming languages HOT 9
- Extra dots in some operator symbols in ref table for abstract machine instructions?
- Document `&keys` better. HOT 12
- Document spork/utf8. HOT 4
- Document `init.janet` for `import`. HOT 2
- Document how to import an absolute path with `import`. HOT 8
- Document `declare-bin`. HOT 5
- Subprocess management appears under-documented HOT 2
- Identifiers with slashes / solidi can end up across multiple lines HOT 1
- The `split` PEG special lacks documentation
- Regarding keeping editor and tooling info on the front-page up-to-date HOT 15
- Docs don't mention that function literals can be named with keywords
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 janet-lang.org.