Comments (8)
I'll have a think... but trying to support everyone's version of exactly how they want the output to be formatted will open a rather large can of worms, so I wouldn't hold your breath!
from jennifer.
Hmm I'm not sure I want to complicate the API with control over the formatting of the output...
from jennifer.
Agreed. I like the directness of the API as it is today.
What if the formatting were based on a simple heuristic? For example, use multi-line formatting if the parameter count is greater than 3.
from jennifer.
How about:
package main
import (
"os"
"github.com/dave/jennifer/jen"
)
func main() {
f := jen.NewFile("test")
f.Func().Id("PrintNumbers").Call().Block(
jen.Qual("fmt", "Println").ParamsFunc(func(g *jen.Group) {
for idx := 0; idx < 10; idx += 1 {
g.Line().Lit(idx)
}
}),
)
if err := f.Render(os.Stdout); err != nil {
panic(err)
}
}
Output:
package test
import fmt "fmt"
func PrintNumbers() {
fmt.Println(
0,
1,
2,
3,
4,
5,
6,
7,
8,
9)
}
from jennifer.
That's a bit of a kludge
from jennifer.
Not perfect (final parameter on same line as )
), but it'll work for me for now! Thanks for the quick support, @dave!
from jennifer.
Also, if you change your mind about it, I'd be happy to take a try at contributing the change.
from jennifer.
But thanks for the input - it's really useful to see how people are using it!
from jennifer.
Related Issues (20)
- Better ways to manage import names and aliases HOT 5
- Get *jen.Statement from reflect.Type HOT 1
- Question: is it possible to open an existing file and modify an existing function to add code to it? HOT 2
- What do you think of reporting this useful tool in the README? HOT 1
- [Help wanted]How to generate correct 'go:generate'? HOT 2
- Import problems HOT 4
- Arbitrary Precision Constants HOT 2
- Optionally write generated file when generated code is not valid (fmt error)
- Tags of a struct should be comma separated HOT 1
- Jennifer doesn't support generics HOT 1
- Looking for call chaining including line-feeds HOT 7
- How to generate struct parameter in function qual HOT 2
- Callback with errors?
- Support multiline string literal (backtick) HOT 2
- Feature: ability to provide custom imports sorter function
- Feature Request: Do not render [] if .Types() is called with no arguments HOT 1
- Non-int untyped numeric literal HOT 2
- How to generate complex type field definitions in Struct HOT 3
- Custom types on interface HOT 3
- How to Gennerate var()? HOT 3
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 jennifer.