https://github.com/luishgh/competitive-companion.el
Emacs integration with https://github.com/jmerle/competitive-companion
https://github.com/luishgh/competitive-companion.el
atcoder codeforces competitive-programming emacs emacs-package icpc
Last synced: 27 days ago
JSON representation
Emacs integration with https://github.com/jmerle/competitive-companion
- Host: GitHub
- URL: https://github.com/luishgh/competitive-companion.el
- Owner: luishgh
- License: gpl-3.0
- Created: 2024-12-24T19:44:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-14T21:27:57.000Z (4 months ago)
- Last Synced: 2026-03-15T06:41:42.882Z (4 months ago)
- Topics: atcoder, codeforces, competitive-programming, emacs, emacs-package, icpc
- Language: Emacs Lisp
- Homepage:
- Size: 134 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
#+TITLE: Competitive Companion for Emacs
Simple Emacs integration with [[https://github.com/jmerle/competitive-companion][competitive companion]].
[[https://github.com/luishgh/Dotfiles/blob/master/Emacs.org#competitive-companion][My personal configuration]], you may take it as a slightly undocumented inspiration for yours.
** Features
- Automatically download all task's sample test cases.
- Generate task's implementation file with user's template.
- Run program against all test cases, see wrong answers in pop-up (help) buffer.
- Add/remove/edit test cases easily.
- Support to multiple programming languages.
- Detect basic verdicts (AC, WA, RTE)
- Native =evil-mode= support!
** Planned features
These are the features which would be nice to have on the future, not necessarily where I'm working next:
- [ ] Support more verdicts (TLE, MLE).
- [ ] Automatic submission (offload to another software most probably)
** Non planned features
- Compilation :: Emacs has a bunch of solutions for compilation already (~M-x compile~ for example)
- Complex templating :: Use specific templating solutions for that.
- Input/Output from files or command line arguments :: This rarely appears in online contests and seems too hard to be justifiable 🫤. Just test the program reading from stdin and outputting to stdout and change the IO wiring before submitting.
- Mouse friendly interface :: Why reach for the mouse during a contest? 🤨
** Installation
This package is currently only available through the GitHub repository. Installation examples in some common settings are provided below.
*** Doom Emacs
Add this to =$DOOMDIR/packages.el=:
#+begin_src emacs-lisp
(package! competitive-companion
:recipe (:host github :repo "luishgh/competitive-companion.el"))
#+end_src
*** use-package + straight.el
#+begin_src emacs-lisp
(use-package competitive-companion
:straight (competitive-companion :type git
:host github
:repo "luishgh/competitive-companion.el"))
#+end_src
*** package-vc
#+begin_src emacs-lisp
(package-vc-install
'(competitive-companion :url "https://github.com/luishgh/competitive-companion.el"
:doc "doc/competitive-companion.texi"))
#+end_src
** Documentation
This package includes an Info manual! After installation, please check it out with:
#+begin_example
M-x info-display-manual RET competitive-companion RET
#+end_example