initial commit

This commit is contained in:
Lucien Cartier-Tilet 2024-02-08 03:52:30 +01:00
commit 28c01be6e3
Signed by: phundrak
GPG Key ID: BD7789E705CB8DCA
5 changed files with 242 additions and 0 deletions

17
.gitignore vendored Normal file
View File

@ -0,0 +1,17 @@
# ignore these directories
/.git
/recipes
# ignore log files
/.log
# ignore generated files
*.elc
# eask packages
.eask/
dist/
# packaging
*-autoloads.el
*-pkg.el

14
Eask Normal file
View File

@ -0,0 +1,14 @@
(package "password-gen"
"0.1.0"
"Password generator for Emacs")
(website-url "https://labs.phundrak.com/phundrak/password-gen.el")
(keywords "")
(package-file "password-gen.el")
(script "test" "echo \"Error: no test specified\" && exit 1")
(source "gnu")
(depends-on "emacs" "26.1")

88
Makefile Normal file
View File

@ -0,0 +1,88 @@
##
# Eask generated template Makefile
#
# File located in https://github.com/emacs-eask/template-elisp/blob/master/Makefile
##
EMACS ?= emacs
EASK ?= eask
.PHONY: clean package install compile test checkdoc lint
# CI entry point
#
# You can add or remove any commands here
#
# (Option 1): Basic for beginner, only tests for package's installation
ci: clean package install compile
# (Option 2): Advanced for a high-quality package
#ci: clean package install compile checkdoc lint test
# Build an package artefact, default to `dist` folder
#
# This is used to test if your package can be built correctly before the
# package installation.
package:
@echo "Packaging..."
$(EASK) package
# Install package
#
# If your package is a single file package, you generally wouldn't need to
install:
@echo "Installing..."
$(EASK) install
# Byte-compile package
#
# Compile all your package .el files to .elc
compile:
@echo "Compiling..."
$(EASK) compile
# Run regression tests
#
# The default test is `ert`; but Eask also support other regression test!
# See https://emacs-eask.github.io/Getting-Started/Commands-and-options/#-linter
test:
@echo "Testing..."
$(EASK) install-deps --dev
$(EASK) test ert ./test/*.el
# Run checkdoc
#
# See https://www.emacswiki.org/emacs/CheckDoc
checkdoc:
@echo "Checking documentation..."
$(EASK) lint checkdoc --strict
# Lint package metadata
#
# See https://github.com/purcell/package-lint
lint:
@echo "Linting..."
$(EASK) lint package
# Generate autoloads file
#
# NOTE: This is generally unnecessary
autoloads:
@echo "Generating autoloads..."
$(EASK) autoloads
# Generate -pkg file
#
# NOTE: This is generally unnecessary
pkg-file:
@echo "Generating -pkg file..."
$(EASK) pkg-file
# Clean up
#
# This will clean all the entire workspace including the following folders
# and files
#
# - .eask folder (sandbox)
# - all .elc files
clean:
$(EASK) clean all

86
README.md Normal file
View File

@ -0,0 +1,86 @@
This project was bootstrapped with [eask/cli](https://github.com/emacs-eask/cli).
## How to use?
1. Write and design your package in `your-package.el`
2. Install package dependences if any:
```sh
eask install-deps
```
3. Prepare for installation, package it: (it will create package to `dist` folder)
```sh
eask package
```
4. Install the built package:
```sh
eask install
```
## Compile
You would want to compile your elisp file to check if there are errors:
```sh
eask compile
```
## Cleaning
Simply executes the following:
```sh
eask clean all
```
For more options, see `eask clean --help`!
## Linting
Linting is often optional but recommended to all elisp developers.
with `checkodc`:
```sh
eask lint checkodc
```
with `package-lint`:
```sh
eask lint package # for pacakge-lint
```
For more options, see `eask lint --help`!
## Testing
Eask supports [ERT](https://www.gnu.org/software/emacs/manual/html_node/ert/index.html)
, [Buttercup](https://github.com/jorgenschaefer/emacs-buttercup)
, [Ecukes](https://github.com/ecukes/ecukes), and more.
For more options, see `eask test --help`!
## Continuous Integration
### GitHub Actions
```sh
eask generate workflow github
```
### CircleCI
```sh
eask generate workflow circle-ci
```
For more options, see `eask generate workflow --help`!
## Learn More
To learn Eask, check out the [Eask documentation](https://github.com/emacs-eask).

37
password-gen.el Normal file
View File

@ -0,0 +1,37 @@
;;; password-gen.el --- Password generator for Emacs -*- lexical-binding: t; -*-
;; Copyright (C) 2024 Lucien Cartier-Tilet
;; Author: Lucien Cartier-Tilet <lucien@phundrak.com>
;; Maintainer: Lucien Cartier-Tilet <lucien@phundrak.com>
;; URL: https://labs.phundrak.com/phundrak/password-gen.el
;; Version: 0.1.0
;; Package-Requires: ((emacs "26.1"))
;; Keywords:
;; This file is not part of GNU Emacs.
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
;;
;; Password generator for Emacs
;;
;;; Code:
;; Happy coding! ;)
(provide 'password-gen)
;;; password-gen.el ends here