Comments (3)
@heaths Allowing the template
package to be extendable sounds like a good idea to me. I am thinking something like:
func (t *Template) RegisterFunc(name string, f func(fields ...interface{}) (string, error)) error
Where the RegisterFunc
would add the new function to t.templateFuncs
which is not stored on the Template
struct yet, but could be added there. What do you think?
This could even be used to override default template functions if we want to allow that behavior.
from go-gh.
Go stdlib already supports templating with extensible functions in its text/template
package. Why would we replicate that functionality?
The reason why we've publicized our pkg/template
is to give extension authors access to the --template
functionality from CLI. But if other kind of functionality is needed, one that doesn't exist in --template
, my suggestion for extension authors would be just to drop down to stdlib text/template
.
from go-gh.
The point would be to get all the functions that CLI already defines for use in extensions. That's what I had to do with one of my extensions because I can't add some others. Overriding a function isn't really a major goal, but figured "just in case".
from go-gh.
Related Issues (20)
- Add pagination examples
- jsonpretty should not add new lines if not indenting
- TokenForHost "authentication token not found" message could be more informative HOT 3
- Feature Request: Add support to call the `gh` command interactively HOT 3
- RestClient no longer returns an HTTPError HOT 2
- Add context to possibly long-running methods (external API) HOT 3
- `isEnterprise` returns `true` incorrectly on `github.localhost` HOT 3
- cli
- docs: Example of reading an octet stream HOT 2
- API Authentication Fails When Using OAuth or App Tokens HOT 6
- CVE Vulnerability in dependency
- Change example_gh_test.go to package `gh_test` HOT 5
- Flag for printing only GraphQL information HOT 2
- @eXamadeus GitHub CLI currently has no mechanism for switching between multiple GitHub accounts and I don't really have a workaround to suggest for you at this moment, sorry. HOT 2
- Please provide fake api.GQLClient out of the box HOT 1
- TokenForHost returns string "oauth_token" as source when config is read from file
- Support for stdin and stderr in term package
- GQLCLient should return GQLError for query and mutation methods
- Add a GraphQL Mutation with an `input` object to examples HOT 1
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 go-gh.