Dawn generates project structures for you, so you don't have to.
Dawn's code is under the MIT license. All content generated by Dawn is licensed under the Unlicense. See the LICENSES file for more details.
Dawn generates project structures for you in Vim, so you don't have to.
License: Other
This may be required for languages like Python, where we can't or don't want to infer all the information from the current repository.
Essentially, by doing :DawnGenerate someTemplate name=someArgument
, someTemplate
gets access to %name
. I'm not entirely sold in this approach specifically, though, because it feels clunky and out of place in a command. Another implementation idea is using popups, but that's gonna require vim/nvim compatibility, because nvim has a different API.
Other implementation ideas are also welcome - especially wrt. templates "requesting" arguments to be present.
Dawn needs more templates.
See the docs for the how. These templates should represent a standard; there's not currently a requirement that the templates have to follow the strictest standards, but standard bad practices should be avoided.
Current languages:
There's a lot of flexibility in what counts as an accepted template, but please check in before implementing anything. Here's a few examples of what counts as invalid templates:
using namespace std;
๐๏ธ). Indentation is a different can of worms, but could be worth just doing :retab
automatically to make it work with the editor's standards. (Not sure if that works from spaces to tabs, but I guess we'll find out if this is attempted)Note that this isn't a complete list; use common sense when adding templates. To finish off though, a good template:
"Hello, World!"
program after being generated. This is purely so any user can instantly verify that the build system has been linked successfully1, and is not an invitation to write a "Hello, World!" program in your favorite language (this isn't one of those repos).1: Dunno about you, but the first thing I do when setting up a project is making sure my build system has been correctly configured. For languages where this doesn't make sense, like Python (because a 0 dependency "Hello, World!" program is trivial to do; takes a file and a command, so there's nothing to test here), this part isn't required
Fairly simple; The templates are already exposed through the map, so the names are easy to get. From there, it's just a matter of writing an autocomplete function for the command that generates templates.
If the folder name contains a space, this plugin may potentially behave weirdly. Make sure it doesn't, potentially by removing spaces and replacing them with something else, or by allowing a name input as a second argument to the command in charge of generating templates.
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.