lu4p / astextract Goto Github PK
View Code? Open in Web Editor NEWConvert a go file to its ast representation
Home Page: https://astextract.lu4p.xyz/
License: The Unlicense
Convert a go file to its ast representation
Home Page: https://astextract.lu4p.xyz/
License: The Unlicense
Hey, I came across Go-App and as a result this project. Really cool - been wanting something to learn about AST for ages. This is perfect.
My goal is to try and build some components using Go-App for generating web assembly apps and then use the functions and the comments to generate the documentation as part of the web assembly site - i.e the documentation auto generates with the webassembly app which would be pretty neat.
I was playing with your application and my first question (I'm very new to AST stuff) is:
If I enter
package main
// Nav
/*
this function adds two strings together and returns the result
*/
func Nav(str1 string, str2 string) string {
// add the two passed strings together
res :=str1 + str2
return res
}
into your application I get the comments block:
Comments: []*ast.CommentGroup {
&ast.CommentGroup {
List: []*ast.Comment {
&ast.Comment {
Slash: 14,
Text: "// Nav",
},
&ast.Comment {
Slash: 21,
Text: "/*\n this function adds two strings together and returns the result\n*/",
},
},
},
},
which is fine. However when I remove the comment within the function, i.e // add the two passed strings together
I get an empty Comments
group, i.e Comments: []*ast.CommentGroup {},
- I was wondering if this is a bug or something to do with how AST is generated? I.e oes the Comments: []*ast.CommentGroup {}, need a comment in the function to read the comments above the function.
My goal is to somehow (haven't got there yet) run the AST generator over a package, pull out all the comments and then the function and add those to a markdown file which will then be rendered by my webassembly application. I think using AST is a good way to do this (as further down the line I may want more granular control over how the markdown is generated.
Also - in this case, does the AST generated "know" that the comments before the function are "part" of, i.e related to the function specifcally? - Reason I ask is that if I make a second function with leading comments, all commentGroups seem to be at the bottom of the AST generated. Is there a way for it to know those comments are related to that function?
Thanks
This issue provides visibility into Renovate updates and their statuses. Learn more
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
Add a webinterface similar to https://mholt.github.io/json-to-go/
Maybe wasm will work, otherwise it will require a real server for processing.
Hey, I'm the creator of go-app.
I was thinking that it would be cool to have this available as an installable app. I updated the package version to v7.0.3 and it makes it possible with GitHub Pages hosted apps.
You would just have to update go-app and push it to your repo.
Also, since your app is white, you may want to tweak the handler by specifying a white theme color:
app.Handler{
// ...
ThemeColor: "#ffffff",
}
Best,
Maxence
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.