Commit Graph

54 Commits

Author SHA1 Message Date
drbeefsupreme
4d084005d7 dprint: call $ arms $ arms 2022-12-15 15:06:02 -05:00
drbeefsupreme
835428d820 dprint: cut off signatures of length >= 3
anytime a gate prints with a complicated sample or product type it is
frequently extremely long. 3 is probably too low of a cutoff number, but
ideally a future version will have verbosity settings that will help
control this.
2022-12-15 15:04:33 -05:00
drbeefsupreme
a350b12c36 dprint: uncomment chapter names in _hunt 2022-12-08 14:39:41 -05:00
drbeefsupreme
fc8449d69e dprint: add casting to some _hunt arms 2022-12-07 15:20:23 -05:00
drbeefsupreme
2f4b716475 dprint: fixes and refactoring of _hunt, signatures
some small issues and debugging tools. also puts some more doccords on dprint types.

also adds use the language server pretty printer to print the types of arms
2022-12-05 17:34:40 -05:00
drbeefsupreme
ec74127a43 dprint: dont print (undocumented) on arms
style reasons
2022-11-29 15:22:34 -05:00
drbeefsupreme
0fbdd6808a dprint: refactor some printing logic
for maintainability
2022-11-29 14:23:57 -05:00
drbeefsupreme
1fed185c29 dprint: refactor +find-item-in-type &co
+find-item-in-type and everything it called was pretty bad spaghetti and
it wasn't clear that it was doing this right thing besides that it
passed tests. this refactors most of that functionality into a door that
has the type and search terms as the sample, and should be much easier
to follow.

the remaining functionality related to arm docs ought to be refactored
as well
2022-11-22 17:59:31 -05:00
drbeefsupreme
1a69393df7 dprint: arms that build cores return core items
this makes it so that when an arm matches a search query in
+find-item-in-type, it checks to see if the arm builds a core with an
arm other than %$. if so, a %core item is returned rather than an %arm
item.

the name of the core will then be considered to be the name of the arm
that builds it
2022-11-21 17:20:28 -05:00
drbeefsupreme
64f64307f3 dprint: +find-item-in-type core name=summary
since cores can't be given names in v0 doccords, this changes the main
search function in lib/dprint to check if the summary of a core
description matches the search term, along with other appropriate
changes downstream of this.

still to be done: use .name in a %core item for either this summary name
or the name of the arm that built the core, if appropriate
2022-11-21 16:04:25 -05:00
drbeefsupreme
f4a84caf30 hoon, dprint: remove |% and |@ core names
partial revert of 3d3ea61d53, which introduced core names by completing
an unimplemented feature that was already present in hoon.hoon. we've
decided to remove this for the initial launch since it violates the
principle of least surprise for the name of a core to end up in its
$garb and yet only be used for doccords, as opposed to something like a
wing resolution. it was also confusing that this only worked for |% and
|@.

this breaks two of the tests for the dprint library, which have been
commented out. these tests ought to be restored once dprint is rewritten
in order to implement a different way to refer to cores not built by arms
2022-11-15 18:25:57 -05:00
drbeefsupreme
5fc3b3fd0f hoon, dprint: change doccords syntax to ::
this constitutes a pretty major rework of how whitespace is handled in
hoon in order to change the doccords syntax from :> and :< to ::.

in summary: throughout the hoon parser (+vast) many instances of +gap
have been replaced by +jump, which first tries to remove whitespace (+leap)
until it arrives at something that can be parsed as a prefix
doccord (+apex:docs:vast). if it does not encounter a doccord, it
instead uses +gap as normal.

if you follow along with the parser, you will notice that every time
jump is called, it then tries to call +apex:docs via +scye or +seam. if
apex:docs succeeds, it will end up consuming a newline at the end,
hiding the fact that there was valid whitespace from the parser. thus
+apex:docs then inserts a newline after successfully parsing a prefix
doccord, which will then be consumed by a subsequent invocation of +gap,
ensuring that there was proper whitespace if the doccord would have been
consumed by +gap instead of +leap.

there are a few other changes:

+hint in the compiler throws out doccords attached to %noun types. this
was already the behavior before doccords, and the change was made before
i understood what i was doing.

similarly for commenting out the %note case in +open:ap - this was an
earlier mistake

postfix comments for chapters are now enabled.

+expx was unused and removed in order to be rid of the
convention-defying +exp1. other unused +ex(p/q)* were commented out.

arms that handle batch comments (+glow and +whap) were refactored

+toad, which was used to change between tall and wide form, tries to
+jump before +gap. since +jump is ;~(pose leap:docs gap), i would have
thought that just using +jump there would be fine, but it fails for some
reason.

some parsers built with |@ were rewritten to use |*

|$ was made so that any doccords put on the spec are converted into hoon
doccords on the $ arm. it wouldn't compile otherwise. there's probably a
more principled way to do this but it works fine for now.
2022-11-15 18:25:29 -05:00
drbeefsupreme
27135f1bb5 dprint: links -> cuff 2022-07-06 16:31:07 -04:00
drbeefsupreme
a4ca51009a dprint: fix syntax and test suite for new parser 2022-07-06 16:21:13 -04:00
drbeefsupreme
274bc167d0 dprint: remove erroneous sigpam 2022-07-01 17:11:38 -04:00
drbeefsupreme
b4d04444cd dprint: add missing doccords 2022-06-30 16:58:45 -04:00
drbeefsupreme
0f8f90c1fd dprint: simplify type to item interface
shouldn't need to surface recursion to the developer
2022-06-30 16:56:04 -04:00
drbeefsupreme
69b06e0ac3 dprint: add identifying glyphs to various items 2022-06-30 16:27:06 -04:00
drbeefsupreme
4b8cdd6f83 dprint: easier to read style changes 2022-06-30 15:14:56 -04:00
drbeefsupreme
5b65288268 dprint: add styled text first run
mostly just to get something working, next i will clean up syntax
2022-06-30 11:39:06 -04:00
drbeefsupreme
8f48f08f1a dprint: change to batch comment syntax 2022-06-28 12:12:03 -04:00
drbeefsupreme
8cb392fbba dprint: comment for library 2022-06-09 16:21:48 -04:00
drbeefsupreme
a8e28cc632 dprint: remove chapter-id from %chapter item
redundant with the name
2022-06-09 15:19:39 -04:00
drbeefsupreme
832d483388 dprint: cleanup some logic around %hint types
deduplicating some code and making it a bit easier to understand. still
kind of a mess, but its progress and all tests are passing
2022-06-09 14:40:45 -04:00
drbeefsupreme
8f0bc304df dprint: help from hint uses second type, pass test
still not entirely sure what's different in the two types in a %hint
type, but this change made a bunch of the unit tests go from failing to passing
2022-06-09 13:46:21 -04:00
drbeefsupreme
62716ff976 dprint: name core containing types 2022-06-09 11:35:10 -04:00
drbeefsupreme
693226bca3 dprint: deduplicate role of +signify
some of the functionality of +signify was being done elsewhere, this
moves it into +signify
2022-06-09 11:33:29 -04:00
drbeefsupreme
f7d0d3e5a1 dprint: missed |^ in last commit 2022-06-09 11:18:10 -04:00
drbeefsupreme
605960eb3a dprint: simplify and fix core/chapter/arm search
the main issue fixed was with looking inside of chapters for arms didn't work
2022-06-09 11:04:09 -04:00
drbeefsupreme
a3ddde7cfc dprint: compile default arm in core against core
previously it was only compiling against the context, which meant it
broke if an arm referred to another arm
2022-06-08 15:41:04 -04:00
drbeefsupreme
0972c85e91 dprint: arms calling other arms dont steal doccord
i thought this would be a neat feature but ted called it too clever and
probably not what you really want. this code is atrocious though and
needs some serious cleanup
2022-06-08 15:39:40 -04:00
drbeefsupreme
6e02e35862 dprint: fix issues with core types
not actually sure this is correct yet, but it fixed the issue where
there would be a crash when looking for docs in an arm like +bar in
|%
++  foo  'foo'
++  bar  foo
--
2022-06-08 12:43:01 -04:00
drbeefsupreme
7e0d16d817 dprint: new core naming syntax
changes the syntax for cores named with :>  #  %corename to
|%  %core-name for the dprint and dprint testing library
2022-06-07 12:37:32 -04:00
drbeefsupreme
dd71b7c788
doccords: dprint debug printfs 2022-04-07 13:05:58 -04:00
drbeefsupreme
b0230086ce
doccords: dprint chapter and overview print tweak
printing an overview only gives the summary now, not the details. also
fixed chapter printing so that it doesn't print the details twice
2022-04-07 12:55:30 -04:00
drbeefsupreme
b41b22ab70
doccords: dprint fix chapter printing 2022-04-07 12:42:55 -04:00
drbeefsupreme
7d8fabe6cf
doccords: dprint remove +shallow-match
it was factored into +find-item-in-type
2022-04-07 11:54:33 -04:00
drbeefsupreme
7a94319af3
dojo, doccords: dprint library can take list term
this allows you to search for foo:bar instead of just foo
2022-04-06 17:37:55 -04:00
drbeefsupreme
0e8cf3bbfa
doccords: dprint improve default arm core docs
the logic for getting the docs on the default arm of a core is now more
similar to how other arm docs are gotten, rather than having its own
system. there is still more room for improvement
2022-04-06 16:34:02 -04:00
drbeefsupreme
33b2761b39
doccords, dojo: move flop print-arm -> dy-inspect
this looks more sensible
2022-04-06 15:50:23 -04:00
drbeefsupreme
912a5023bb
doccords: flop order of +print-arm results 2022-04-06 14:58:28 -04:00
drbeefsupreme
69399c4153
doccords: remove unwrap-note from dprint
we shouldn't be getting docs from the AST, so this should never be needed
2022-04-05 15:55:42 -04:00
drbeefsupreme
3afc9b6899
doccords: dprint all docs in %arm items from type
before this, it was grabbing the initial arm-doc from the AST rather
than the type. now %arm items have all 3 types of docs available. the
interface has been degraded somewhat though, as %arm items no longer
have a single docs field. more refactoring will be needed to figure out
the best way to do this.
2022-04-05 15:52:35 -04:00
drbeefsupreme
37a787970c
doccords: dprint refactoring and renaming 2022-04-05 15:17:57 -04:00
drbeefsupreme
151608d583
doccords: dprint fix depth calculation
stupid loobeans tripping me up
2022-04-05 14:44:47 -04:00
drbeefsupreme
eb4b996420
doccords: dprint can dist. arm-doc and prod-doc
rewrites select-arm-docs so that it checks for nested hint types and
sees if the outermost help hint has a %funk link with the name of the
arm in order to tell that its an arm-doc
2022-04-05 12:38:02 -04:00
drbeefsupreme
6a6078b554
doccords: dprint core and chapter items
adds the ability to find cores and chapters and produce an item from them
2022-04-04 16:23:27 -04:00
drbeefsupreme
edfcceb1d9
doccords: dprint print overview
also adds another mule to a play:ut call to avoid another crash that i'm
not sure yet why it is happening
2022-03-31 18:45:28 -04:00
drbeefsupreme
a15711c74d
doccords: dprint fix crash on non-help %hint 2022-03-31 17:59:45 -04:00
drbeefsupreme
d9e44e9e76
doccords: dprint print core routine 2022-03-31 17:35:50 -04:00