Initial commit
This commit is contained in:
commit
c043fc2883
3 changed files with 167 additions and 0 deletions
42
README.org
Normal file
42
README.org
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
#+TITLE: mastodon layer
|
||||||
|
# Document tags are separated with "|" char
|
||||||
|
# The example below contains 2 tags: "layer" and "web service"
|
||||||
|
# Avaliable tags are listed in <spacemacs_root>/.ci/spacedoc-cfg.edn
|
||||||
|
# under ":spacetools.spacedoc.config/valid-tags" section.
|
||||||
|
#+TAGS: layer|web service
|
||||||
|
|
||||||
|
# The maximum height of the logo should be 200 pixels.
|
||||||
|
[[img/mastodon.png]]
|
||||||
|
|
||||||
|
# TOC links should be GitHub style anchors.
|
||||||
|
* Table of Contents :TOC_4_gh:noexport:
|
||||||
|
- [[#description][Description]]
|
||||||
|
- [[#features][Features:]]
|
||||||
|
- [[#install][Install]]
|
||||||
|
- [[#key-bindings][Key bindings]]
|
||||||
|
|
||||||
|
* Description
|
||||||
|
This layer adds support for something.
|
||||||
|
|
||||||
|
** Features:
|
||||||
|
- Autocomplete
|
||||||
|
- Lint
|
||||||
|
- Refactor
|
||||||
|
- ...
|
||||||
|
|
||||||
|
* Install
|
||||||
|
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
||||||
|
add =mastodon= to the existing =dotspacemacs-configuration-layers= list in this
|
||||||
|
file.
|
||||||
|
|
||||||
|
* Key bindings
|
||||||
|
|
||||||
|
| Key Binding | Description |
|
||||||
|
|-------------+----------------|
|
||||||
|
| ~SPC x x x~ | Does thing01 |
|
||||||
|
|
||||||
|
# Use GitHub URLs if you wish to link a Spacemacs documentation file or its heading.
|
||||||
|
# Examples:
|
||||||
|
# [[https://github.com/syl20bnr/spacemacs/blob/master/doc/VIMUSERS.org#sessions]]
|
||||||
|
# [[https://github.com/syl20bnr/spacemacs/blob/master/layers/%2Bfun/emoji/README.org][Link to Emoji layer README.org]]
|
||||||
|
# If space-doc-mode is enabled, Spacemacs will open a local copy of the linked file.
|
24
config.el
Normal file
24
config.el
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
;;; packages.el --- mastodon layer packages file for Spacemacs.
|
||||||
|
;;
|
||||||
|
;; Copyright (c) 2012-2022 Sylvain Benner & Contributors
|
||||||
|
;;
|
||||||
|
;; Author: TakeV
|
||||||
|
;; URL: https://github.com/syl20bnr/spacemacs
|
||||||
|
;;
|
||||||
|
;; 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
(defvar mastodon-enable-discover nil
|
||||||
|
"If not nil, discover will be installed, and mastodon-discover will be enabled")
|
101
packages.el
Normal file
101
packages.el
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
;;; packages.el --- mastodon layer packages file for Spacemacs.
|
||||||
|
;;
|
||||||
|
;; Copyright (c) 2012-2022 Sylvain Benner & Contributors
|
||||||
|
;;
|
||||||
|
;; Author: TakeV
|
||||||
|
;; URL: https://github.com/syl20bnr/spacemacs
|
||||||
|
;;
|
||||||
|
;; 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
;;; Commentary:
|
||||||
|
|
||||||
|
;; See the Spacemacs documentation and FAQs for instructions on how to implement
|
||||||
|
;; a new layer:
|
||||||
|
;;
|
||||||
|
;; SPC h SPC layers RET
|
||||||
|
;;
|
||||||
|
;;
|
||||||
|
;; Briefly, each package to be installed or configured by this layer should be
|
||||||
|
;; added to `mastodon-packages'. Then, for each package PACKAGE:
|
||||||
|
;;
|
||||||
|
;; - If PACKAGE is not referenced by any other Spacemacs layer, define a
|
||||||
|
;; function `mastodon/init-PACKAGE' to load and initialize the package.
|
||||||
|
|
||||||
|
;; - Otherwise, PACKAGE is already referenced by another Spacemacs layer, so
|
||||||
|
;; define the functions `mastodon/pre-init-PACKAGE' and/or
|
||||||
|
;; `mastodon/post-init-PACKAGE' to customize the package as it is loaded.
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
(defconst mastodon-packages
|
||||||
|
'(mastodon
|
||||||
|
(discover
|
||||||
|
:location (recipe :fetcher github :repo "mickeynp/discover.el")
|
||||||
|
:toggle mastodon-enable-discover))
|
||||||
|
"The list of Lisp packages required by the mastodon layer.
|
||||||
|
|
||||||
|
Each entry is either:
|
||||||
|
|
||||||
|
1. A symbol, which is interpreted as a package to be installed, or
|
||||||
|
|
||||||
|
2. A list of the form (PACKAGE KEYS...), where PACKAGE is the
|
||||||
|
name of the package to be installed or loaded, and KEYS are
|
||||||
|
any number of keyword-value-pairs.
|
||||||
|
|
||||||
|
The following keys are accepted:
|
||||||
|
|
||||||
|
- :excluded (t or nil): Prevent the package from being loaded
|
||||||
|
if value is non-nil
|
||||||
|
|
||||||
|
- :location: Specify a custom installation location.
|
||||||
|
The following values are legal:
|
||||||
|
|
||||||
|
- The symbol `elpa' (default) means PACKAGE will be
|
||||||
|
installed using the Emacs package manager.
|
||||||
|
|
||||||
|
- The symbol `local' directs Spacemacs to load the file at
|
||||||
|
`./local/PACKAGE/PACKAGE.el'
|
||||||
|
|
||||||
|
- A list beginning with the symbol `recipe' is a melpa
|
||||||
|
recipe. See: https://github.com/milkypostman/melpa#recipe-format")
|
||||||
|
|
||||||
|
|
||||||
|
(defun mastodon/init-mastodon ()
|
||||||
|
(use-package mastodon
|
||||||
|
:defer t
|
||||||
|
:ensure t
|
||||||
|
:init
|
||||||
|
(progn
|
||||||
|
(spacemacs/set-leader-keys "awm" 'mastodon)
|
||||||
|
(spacemacs/set-leader-keys-for-major-mode 'mastodon-mode
|
||||||
|
"gl" 'mastodon-tl--get-local-timeline
|
||||||
|
"gp" 'mastodon-profile--my-profile
|
||||||
|
"gn" 'mastodon-notifications-get
|
||||||
|
"gf" 'mastodon-tl--get-federated-timeline
|
||||||
|
"gh" 'mastodon-tl--get-home-timeline
|
||||||
|
"f" 'mastodon-toot--toggle-favourite
|
||||||
|
"b" 'mastodon-toot--toggle-boost
|
||||||
|
"n" 'mastodon-tl--goto-next-item
|
||||||
|
"t" 'mastodon-toot
|
||||||
|
"r" 'mastodon-toot--reply))))
|
||||||
|
|
||||||
|
(defun mastodon/init-discover ()
|
||||||
|
(use-package discover
|
||||||
|
:defer t
|
||||||
|
:init
|
||||||
|
(progn
|
||||||
|
(require 'mastodon-discover)
|
||||||
|
(with-eval-after-load 'mastodon (mastodon-discover)))))
|
Loading…
Reference in a new issue