6 changes: 6 additions & 0 deletions .elpaignore
@@ -0,0 +1,6 @@
.github
.gitignore
test
Cask
CONTRIBUTING.md
HISTORY.md
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Expand Up @@ -7,6 +7,8 @@ assignees: ''

---

<!-- Thank you for helping improve topspace! -->

**Describe the bug**
A clear and concise description of what the bug is.

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/custom.md
Expand Up @@ -7,4 +7,4 @@ assignees: ''

---


<!-- Thank you for helping improve topspace! Enter you request below. -->
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Expand Up @@ -7,6 +7,8 @@ assignees: ''

---

<!-- Thank you for helping improve topspace! -->

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Expand Down
13 changes: 7 additions & 6 deletions .github/PULL_REQUEST_TEMPLATE.md
@@ -1,17 +1,18 @@
**Replace this placeholder text with a summary of the changes in your PR.
The more detailed you are, the better.**
<!-- Thank you for improving topspace! -->

<!-- Add here a summary of the changes in your PR with bullet points.
The more detailed, the better. -->

-----------------

### Checklist

<!-- Please confirm with `x`: -->
<!-- Please confirm by replacing each `[ ]` with `[x]`: -->

- [ ] I have read the topspace [contributing guidelines](https://github.com/trevorpogue/topspace/blob/main/CONTRIBUTING.md)
- [ ] I have added tests (if possible) to cover my change(s)
- [ ] My changes follow the [Emacs Lisp conventions](https://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html) and the [Emacs Lisp Style Guide](https://github.com/bbatsov/emacs-lisp-style-guide)
- [ ] I've used the latest version of [package-lint](https://github.com/purcell/package-lint) to check for packaging issues, and addressed its feedback
- [ ] The new code is not generating bytecode warnings
- [ ] I've updated the readme (if adding/changing user-visible functionality)
- [ ] I have confirmed some of these without doing them

<!-- Thank you! -->
- [ ] I have confirmed some of these without doing them (this box shouldn't be marked)
34 changes: 34 additions & 0 deletions .github/workflows/ci.yml
@@ -0,0 +1,34 @@
name: CI

on: [ push, pull_request ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
emacs_version:
- 25.1
- 26.1
- 27.1
- 28.1
- snapshot
steps:
- uses: purcell/setup-emacs@master
with:
version: ${{ matrix.emacs_version }}
- uses: conao3/setup-cask@master
- uses: actions/checkout@v2
- name: CI
env:
COVERALLS_FLAG_NAME: Emacs ${{ matrix.emacs_version }}
COVERALLS_PARALLEL: 1
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cask install
cask exec buttercup -L .
finalize:
runs-on: ubuntu-latest
if: always()
needs: test
steps:
- run: curl "https://coveralls.io/webhook?repo_name=$GITHUB_REPOSITORY&repo_token=${{ secrets.GITHUB_TOKEN }}" -d "payload[build_num]=$GITHUB_RUN_NUMBER&payload[status]=done"
14 changes: 8 additions & 6 deletions .github/workflows/changelog.yml → .github/workflows/news.yml
@@ -1,8 +1,8 @@
name: Changelog
name: News
on:
push:
branches:
- main
- '*'
release:
types:
- created
Expand All @@ -13,17 +13,19 @@ jobs:
steps:
- uses: actions/checkout@v3

- name: "✏️ Generate changelog"
- name: "✏️ Generate news"
uses: heinrichreimer/github-changelog-generator-action@v2.3
with:
token: ${{ secrets.GITHUB_TOKEN }}
sinceTag: v0.1.2
headerLabel: '# History of user-visible changes'
output: NEWS.md
base: HISTORY.md
issues: no
futureRelease: v0.2.1
# futureRelease: v0.3.1

- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Update Changelog
file_pattern: CHANGELOG.md
commit_message: Update NEWS.md
file_pattern: NEWS.md
12 changes: 11 additions & 1 deletion .gitignore
@@ -1,2 +1,12 @@
*.~undo-tree~
.projectile
.projectile
*.elc
.cask
Eldev
.eldev
topspace.log
\#*\#
coverage/
cask-run
test/director/
TODO
39 changes: 34 additions & 5 deletions CONTRIBUTING.md
@@ -1,15 +1,17 @@
# Contributing

Feel free to work on reported and unresolved issues.
If you discover issues, have ideas for improvements or new features, please
report them to the [issue tracker][1] of the repository or submit a pull
request. Please, try to follow these guidelines when you do so.
Contributions are welcome! Please [open an issue][1]
if you find a bug, have a feature request, or have any suggestions for
the project at all.
Also feel free to make pull requests yourself instead of issues,
or make pull requests for any existing unresolved issues.
Try to follow the following guidelines if you open an issue or pull request:

## Issue reporting

* Check that the issue has not already been reported.
* Check that the issue has not already been fixed in the latest code
(a.k.a. `master`).
(a.k.a. `main`).
* Be clear, concise and precise in your description of the problem.
* Open an issue with a descriptive title and a summary in grammatically correct,
complete sentences.
Expand All @@ -18,6 +20,7 @@ request. Please, try to follow these guidelines when you do so.

## Pull requests

* Add tests (if possible) to cover your change(s)
* Follow the [Emacs Lisp conventions](https://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html) and the [Emacs Lisp Style Guide](https://github.com/bbatsov/emacs-lisp-style-guide)
* Read [how to properly contribute to open source projects on Github][2].
* Use a topic branch to easily amend a pull request later, if necessary.
Expand All @@ -28,7 +31,33 @@ request. Please, try to follow these guidelines when you do so.
* Open a [pull request][4] that relates to *only* one subject with a clear title
and description in grammatically correct, complete sentences.

## Running Tests
Check [ci.yml][5] to see all the details for the testing frameworks being used, the Emacs versions being tested, and the command(s) required to run the tests.
TLDR: Cask and buttercup are used for testing and can be run like so:

```
cask install
cask exec buttercup -L .
```

## Copyright Assignment
This package is subject to the same [Copyright Assignment](https://www.gnu.org/prep/maintain/html_node/Copyright-Papers.html) policy as
GNU Emacs and all other packages in [GNU ELPA](https://elpa.gnu.org/packages/).

Any [legally significant](https://www.gnu.org/prep/maintain/html_node/Legally-Significant.html#Legally-Significant) contributions can only be accepted after the
author has completed their paperwork. Please see [the request form](https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/Copyright/request-assign.future) if
you want to proceed with the assignment.

The copyright assignment isn't a big deal, it just says that the
copyright for your submitted changes to Emacs belongs to the FSF.
This assignment works for all projects related to Emacs. To obtain it
you need to:
* Send one email
* Send one letter (if you live in the US, it's digital)
* Wait for some time (recently it's less than a week)

[1]: https://github.com/trevorpogue/topspace/issues
[2]: http://gun.io/blog/how-to-github-fork-branch-and-pull-request
[3]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
[4]: https://help.github.com/articles/using-pull-requests
[5]: https://github.com/trevorpogue/topspace/blob/main/.github/workflows/ci.yml
9 changes: 9 additions & 0 deletions Cask
@@ -0,0 +1,9 @@
(source gnu)
(source melpa)

(development
(depends-on "undercover")
(depends-on "buttercup")
(depends-on "smooth-scrolling"))

(package-file "topspace.el")
24 changes: 23 additions & 1 deletion CHANGELOG.md → NEWS.md
@@ -1,4 +1,26 @@
# Changelog
# History of user-visible changes

## [v0.3.1](https://github.com/trevorpogue/topspace/tree/v0.3.1) (2022-08-24)

[Full Changelog](https://github.com/trevorpogue/topspace/compare/v0.3.0...v0.3.1)

**Fixed bugs:**

- Prevent line `1` indicator sometimes displaying too high in `linum-mode` [\#22](https://github.com/trevorpogue/topspace/pull/22) ([trevorpogue](https://github.com/trevorpogue))

## [v0.3.0](https://github.com/trevorpogue/topspace/tree/v0.3.0) (2022-05-13)

[Full Changelog](https://github.com/trevorpogue/topspace/compare/v0.2.1...v0.3.0)

**Implemented enhancements:**

- Add `topspace-set-height`, enhance `topspace-center-position` [\#19](https://github.com/trevorpogue/topspace/pull/19) ([trevorpogue](https://github.com/trevorpogue))
- Add `topspace-height` function for use by external packages [\#15](https://github.com/trevorpogue/topspace/pull/15) ([trevorpogue](https://github.com/trevorpogue))
- Add support for `smooth-scrolling` package [\#14](https://github.com/trevorpogue/topspace/pull/14) ([trevorpogue](https://github.com/trevorpogue))

**Fixed bugs:**

- Fix unexpected top space height change when echo area height changes [\#18](https://github.com/trevorpogue/topspace/pull/18) ([trevorpogue](https://github.com/trevorpogue))

## [v0.2.1](https://github.com/trevorpogue/topspace/tree/v0.2.1) (2022-04-15)

Expand Down