https://github.com/aygp-dr/verbiste.el
Emacs interface to the Verbiste French/Italian verb conjugation library
https://github.com/aygp-dr/verbiste.el
conjugation elisp emacs french italian language
Last synced: 3 months ago
JSON representation
Emacs interface to the Verbiste French/Italian verb conjugation library
- Host: GitHub
- URL: https://github.com/aygp-dr/verbiste.el
- Owner: aygp-dr
- Created: 2025-03-28T15:13:51.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-05-24T13:12:05.000Z (5 months ago)
- Last Synced: 2025-07-20T03:39:57.793Z (3 months ago)
- Topics: conjugation, elisp, emacs, french, italian, language
- Language: Emacs Lisp
- Size: 674 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
#+TITLE: verbiste.el
#+AUTHOR: Aidan Pace
#+EMAIL: apace@defrecord.comEmacs interface to the Verbiste French verb conjugation library.
** Overview
This package provides a convenient interface to the Verbiste library for French verb conjugation directly within Emacs. It allows users to conjugate verbs in all tenses and moods, right from their editor. Italian support is planned for future releases.
** Features
- Conjugate French verbs in all tenses and moods
- Find infinitive forms of conjugated French verbs
- Check installation status to ensure proper setup
- Navigate verb relationships in a graph-like interface
- Browse random verbs and explore similar verbs interactively
- Click through related verbs to discover connections and patterns
- Convenient minor mode with keybindings
- Support for direct XML parsing (optional, for better performance)** Screenshots
*** Browse Random Verbs
[[file:screenshots/sh-verbiste-random.png]]*** Verb Conjugation
[[file:screenshots/sh-verbiste-parler.png]]** Installation
*** Prerequisites
**** FreeBSD
#+begin_src bash
sudo pkg install verbiste
#+end_src**** Debian/Ubuntu
#+begin_src bash
sudo apt-get install elpa-verbiste verbiste
#+end_src**** Manual Installation
1. Clone this repository:
#+begin_src bash
git clone https://github.com/aygp-dr/verbiste.el.git
#+end_src2. Add the following to your Emacs init file:
#+begin_src emacs-lisp
(add-to-list 'load-path "/path/to/verbiste.el")
(require 'verbiste)
#+end_src** Usage
*** Basic Commands
- ~M-x verbiste-french-conjugation~: Conjugate a French verb
- ~M-x verbiste-french-deconjugation~: Find the infinitive form of a conjugated French verb
- ~M-x verbiste-check-installation~: Check if Verbiste is properly installed
- ~M-x verbiste-mode~: Toggle Verbiste minor mode for verb conjugation
- ~M-x verbiste-display-similar-verbs~: Display verbs similar to the given verb
- ~M-x verbiste-browse-random-verbs~: Show a list of random verbs with interactive buttons*** Keybindings
When ~verbiste-mode~ is enabled:
| Key | Function |
|-----------+-------------------------------|
| C-c v f c | verbiste-french-conjugation |
| C-c v f d | verbiste-french-deconjugation |
| C-c v s | verbiste-display-similar-verbs |
| C-c v r | verbiste-browse-random-verbs |*** Planned Features
Italian verb conjugation support is currently in development. The following commands will be available in future releases:
- ~M-x verbiste-italian-conjugation~: Conjugate an Italian verb
- ~M-x verbiste-italian-deconjugation~: Find the infinitive form of a conjugated Italian verb** Implementation Notes
This package works with the verbiste XML files located at:
- ~/usr/local/share/verbiste-0.1/conjugation-fr.xml~
- ~/usr/local/share/verbiste-0.1/verbs-fr.xml~
- ~/usr/local/share/verbiste-0.1/conjugation-it.xml~
- ~/usr/local/share/verbiste-0.1/verbs-it.xml~The implementation can work in two modes:
1. Using the verbiste command-line tools via shell commands
2. Direct XML parsing using Emacs Lisp (more efficient but more complex)** French Verb Examples
Common French verbs for testing:
- être (to be)
- avoir (to have)
- aller (to go)
- faire (to do/make)
- voir (to see)
- pouvoir (to be able to)
- vouloir (to want)
- parler (to speak)
- manger (to eat)
- finir (to finish)** Development
*** For Emacs Lisp Code
#+begin_src bash
# Compile elisp files
gmake compile# Run tests
gmake test# Lint code
gmake lint# Create distribution package
gmake dist# Generate text-based UI screenshots
gmake screenshot# Launch a demo with verbiste loaded
gmake demo
#+end_src*** For Supporting Python Tools
#+begin_src bash
# Install with Poetry
poetry install# Format Python code
poetry run black verbiste_tools
#+end_src*** Future Plans
1. Implement completion for verb input
2. Add support for theme-aware display
3. Implement mode-line indicators for verbs under point
4. Add Italian verb support** Resources
- [[http://sarrazip.com/dev/verbiste.html][Verbiste Official Website]]
- [[https://web.archive.org/web/20080418121944/http://perso.b2b2c.ca/sarrazip/dev/verbiste.html][Verbiste Archive (Historical)]]
- [[https://github.com/euoia/node-reverb/blob/master/lib/conjugation-tables/conjugation-fr.xml][Verbiste French Conjugation Tables (GitHub)]]
- [[https://sourceforge.net/projects/verbes/][Verbes Project on SourceForge]]
- [[/usr/local/share/verbiste-0.1/][Local Verbiste Data Files]]** License
GPL v2 or later, consistent with Verbiste itself.