• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

fujimura/hi: Generate scaffold for a Haskell project

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

fujimura/hi

开源软件地址(OpenSource Url):

https://github.com/fujimura/hi

开源编程语言(OpenSource Language):

Haskell 99.1%

开源软件介绍(OpenSource Introduction):

hi Build StatusCoverage StatusHackage

Generate scaffold for a Haskell project

Overview

This application generates a scaffold for Haskell project from a Git repository. The template can be specified by Git repository. hi-hspec will be used as a default template.

Usage

Basic Example

$ hi foo-bar-baz
Creating new project with git repository:git://github.com/fujimura/hi-hspec.git
    create  foo-bar-baz/.gitignore
    create  foo-bar-baz/LICENSE
    create  foo-bar-baz/README.md
    create  foo-bar-baz/foo-bar-baz.cabal
    create  foo-bar-baz/src/Foo/Bar/Baz.hs
    create  foo-bar-baz/src/Foo/Bar/Baz/Internal.hs
    create  foo-bar-baz/test/Foo/Bar/BazSpec.hs
    create  foo-bar-baz/test/Spec.hs

Specifying template

Specifying repository in GitHub has a shorthand like this:

$ hi foo-bar-baz --repository gh:fujimura/hi-flat
Creating new project from repository: [email protected]:fujimura/hi-flat.git
    create  foo-bar-baz/.gitignore
    create  foo-bar-baz/LICENSE
    create  foo-bar-baz/Main.hs
    create  foo-bar-baz/Foo/Bar/Baz.hs
    create  foo-bar-baz/README.md
    create  foo-bar-baz/foo-bar-baz.cabal

Options

  -h,--help                Show this help text
  -v,--version             Print version information
  -p,--package-name ARG    Name of package
  -m,--moduleName ARG      Name of Module
  -a,--author ARG          Name of the project's author
  -e,--email ARG           Email address of the maintainer
  -r,--repository ARG      Template repository
  --configuration-file ARG Use specified configuration file
  --initialize-git-repository
                           Initialize with git repository
  --after-command ARG      The command to be run after generation

Templates

Available templates

Please see https://github.com/fujimura/hi/wiki#available-templates and feel free to add yours!

How to make your own template

Template is used for templating.

Available variables:

  • $packageName : name of package, like 'hi'
  • $moduleName : name of module, like 'Hi'
  • $author : name of author, like 'Fujimura Daisuke'
  • $email : email address of maintainer, like '[email protected]'

'package-name' and 'ModuleName' in filepath will be replaced with given variable.

Files under package-name will be used as the source of generated files. Files in root directory will not be copied.

Motivation

I'm tired to organize directory structure for every new Haskell project which has some test. This library is heavily inspired by grunt-init.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
eagletmt/neco-ghc: A completion plugin for Haskell, using ghc-mod发布时间:2022-06-24
下一篇:
haskell-opengl/GLUT: Haskell bindings to GLUT发布时间:2022-06-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap