Skip to content

Commit

Permalink
Initial release
Browse files Browse the repository at this point in the history
  • Loading branch information
hubisan committed Aug 19, 2024
0 parents commit 7483113
Show file tree
Hide file tree
Showing 31 changed files with 5,783 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .dir-locals.el
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
((emacs-lisp-mode
. ((indent-tabs-mode . nil)
(fill-column . 80)
(sentence-end-double-space . nil)
(checkdoc-verb-check-experimental-flag . nil)
;; This is the default outline-regexp in Emacs 29.
(outline-regexp . ";;;;* [^ \n]\\|(\\|\\(^;;;###\\(\\([-[:alnum:]]+?\\)-\\)?\\(autoload\\)\\)")
(outline-heading-end-regexp . "\n")))))))
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Makefile linguist-generated=true
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
name: Bug Report
about: Report existings bugs.
title: ''
labels: bug
assignees: ''

---

<!-- Check that the issue has not already been reported. -->
<!-- Check that the issue is not part of an active pull request. -->

### Description

#### Expected Behavior

<!-- Tell us what should happen -->

#### Current Behavior

<!-- Tell us what happens instead of the expected behavior -->

#### Possible Solution

<!-- Not obligatory, but suggest a fix/reason for the bug, -->
<!-- or ideas how to implement the addition or change -->

#### Steps to Reproduce

<!-- Provide a link to a live example, or an unambiguous set of steps to -->
<!-- reproduce this bug. Include code to reproduce, if relevant -->

### Your Environment

<!-- Include as many relevant details about the environment you experienced the bug in -->
<!-- Get the package version with M-x package-name--version -->
<!-- Get the Emacs version with M-x emacs-version -->

- Version:
- Emacs version:
- Framework: None/Spacemacs/Doom/...
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
name: Documentation
about: Improvements and addtions to the documentation.
title: ''
labels: documentation
assignees: ''

---

<!-- What part of the documentation can be improved? -->
<!-- What is missing in the documentation? -->
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: Feature Request
about: Request new features and improvements.
title: ''
labels: enhancement
assignees: ''

---

<!-- Check if there is no similar feature request. -->
<!-- Check that the issue is not part of an active pull request. -->

### Description

### Proposed Implementation (if any)
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Question
about: Request further information.
title: ''
labels: question
assignees: ''

---


25 changes: 25 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
### Description

<!-- Include a summary of the change and which issue is fixed. -->
<!-- Include relevant motivation and context. -->
<!-- If it fixes an open issue, please link to the issue here. -->

### Types of change

<!-- What types of changes does your code introduce? -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

### Tests

<!-- Did you add additional test cases? -->
<!-- Did you change existing test cases? -->

### Checklist

- [ ] New and existing unit tests pass.
- [ ] The documentation is up to date.
- [ ] The README.org is up to date.
- [ ] The CHANGELOG.org is up to date.
55 changes: 55 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: CI

on:
push:
paths-ignore:
- '**.md'
- '**.org'
# branches:
# - main
pull_request:
paths-ignore:
- '**.md'
- '**.org'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
test:
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
# os: [ubuntu-latest, macos-latest, windows-latest]
os: [ubuntu-latest]
emacs-version:
- snapshot
# for some reason 29.4 gives an error with elint. base64.el not
# in path or so. No idea why.
# - 29.4
# - snapshot
experimental: [false]
# include:
# - os: ubuntu-latest
# emacs-version: snapshot
# experimental: true

steps:
- uses: actions/checkout@v4

- uses: jcs090218/setup-emacs@master
with:
version: ${{ matrix.emacs-version }}

- uses: emacs-eask/setup-eask@master
with:
version: 'snapshot'

- name: Run tests
run: |
make all
make clean
26 changes: 26 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# -*- mode: gitignore; -*-

*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*

# Eldev
/.eldev/

# Eask
.eask/
dist/

# Flycheck
flycheck_*.el

# Flymake
*_flymake.*

# Projectiles
.projectile
25 changes: 25 additions & 0 deletions CHANGELOG.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#+STARTUP: content

* Changelog

** Planned
*** TODO Functions to show definitions and synonyms at once

** Unreleased

** 0.1.0 - [2024-08-19 Mon]

Initial release after having used it for a while to sort of test.

** Remark

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

Type of changes:

- =Added= for new features.
- =Changed= for changes in existing functionality.
- =Deprecated= for soon-to-be removed features.
- =Removed= for now removed features.
- =Fixed= for any bug fixes.
- =Security= in case of vulnerabilities.
83 changes: 83 additions & 0 deletions CONTRIBUTING.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
#+STARTUP: showall
* Contributing

** Bugs, Improvements and new Features

Go to the issues page and create a new issue.

Make sure to:

- Check that the issue has not already been reported (open and closed issues).
- Check that the issue is not part of an active pull request.

** Pull Requests

Cool that you want to contribute your code :-)

Remember to:

- Include only one feature in a pull request.
- Open an issue and mention your planned pull request.
- Add/update tests if needed.
- Ensure the tests pass (see [[#testing][Testing]]).
- Update [[./README.org][README.org]] if needed.
- Update the documentation in the [[./README.org][README.org]] if needed.
- Update [[./CHANGELOG.org][CHANGELOG.org]].

*** Testing
:PROPERTIES:
:CUSTOM_ID: testing
:END:

Uses [[https://emacs-eask.github.io/Getting-Started/Introduction/][Eask]], which needs to be [[https://emacs-eask.github.io/Getting-Started/Install-Eask/#-npm-cross-platform][installed]]. The tests are written with [[https://github.com/jorgenschaefer/emacs-buttercup][Buttercup]]. After pushing to GitHub, an action is triggered which calls ~make all~.

**** Testing locally

To test the package locally, call the Makefile target ~make test-local~.

To open Emacs with just the package installed run ~make emacs~. Like this you can test it interactively.

To see all make targets run ~make~.

***** Linters

When using ~make lint~, the following linters are used:

- package-lint
- elint
- checkdoc
- indent-lint
- relint

If you want to use another linter or call a linter separately, use ~eask lint <name of linter>~. To get the names just run ~eask lint~.

***** Test in Specific Emacs Version

It is possible to run an Eask command with specific Emacs version in a Docker container (Docker needs to be installed and configured to run without sudo).

To run the tests in a container use ~make docker-test emacs=29.4~.

To run an eask command in a docker container use:

#+BEGIN_SRC shell
eask docker 29.4 test buttercup
#+END_SRC

- Unfortunately, I have not found a way to run the make targets (tried ~eask docker 29.4 exec make test~).

- Sometimes after using a docker image ~eask clean all~ gives a long error with ~permission denied~ or ~No such file or directory~ at the end. If this happens run ~eask docker 29.4 clean all~.

- ~eask docker 29.4 emacs~ doesn't seem to work. I was able to launch an Emacs with the following command. The volumne has to be changed depending on where your have cloned the repository to:

#+BEGIN_SRC shell
eask docker 29.4 package
eask docker 29.4 install
docker run --interactive --tty \
--volume ~/projects/coding/woerterbuch:/woerterbuch \
--workdir /woerterbuch \
--rm \
silex/emacs:29.4-ci-eask emacs \
--init-directory /woerterbuch/.eask/29.4
#+END_SRC


37 changes: 37 additions & 0 deletions Eask
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
; -*- mode: emacs-lisp; lexical-binding: t -*-

(eval-when-compile
(defvar sentence-end-double-space)
(defvar checkdoc-verb-check-experimental-flag))

;; Domain Specific Language
;; https://emacs-eask.github.io/DSL/
(package "woerterbuch"
"0.1.0"
"Lookup definitions and synonyms for German words")

(website-url "https://github.com/hubisan/woerterbuch")
(keywords "dictionary" "thesaurus" "convenience")
(license "GPLv3")

(package-file "woerterbuch.el")
(files "woerterbuch.el")

;; https://emacs-eask.github.io/DSL/#-source-alias
(source "gnu")
(source "nongnu")
(source "melpa")

;; https://emacs-eask.github.io/DSL/#-depends-on-package-name-rest-recipe
(depends-on "emacs" "29.1")

;; https://emacs-eask.github.io/DSL/#-development-rest-body
(development
(depends-on "buttercup")
(depends-on "with-simulated-input"))

;; Tell checkdoc not to demand two spaces after a period.
(setq sentence-end-double-space nil)

;; Dont' check docstring for correct verb use.
(setq checkdoc-verb-check-experimental-flag nil)
Loading

0 comments on commit 7483113

Please sign in to comment.