clojure-emacs / clojure-emacs/cider

Persistent REPL history improvements

Open
#2,363 2 comments 3 reactions 0 assignees View on GitHub
enhancement good first issue
Dominant language
Emacs Lisp
Stars
3.7k
Forks
651
Avg merge
11h 6m
Merged PRs (30d)
33

Description

I am opening this as a restart of #2353.

Would be nice to have:

1. project level persistent REPL history customized directly by `cider-repl-history-file`. Some ideas on the implementation:

- if that file is relative, then the history should be relative to current project or directory
- if a function, function is called with no arguments and should return a file
- if a cons, car is file to be used for REPLS started outisde projects and cdr for those within projects
- on remotes it's a bit tricky but I think `tramp-auto-save-directory` should be used to store history.
- consider using `backup-directory-alist` for the history file or at lest offer it as an option

2. history should be differentiated between types of repls clj/cljs
3. have history on by default?

Contributor guide

Open the contributing guide

Research direction

Start by tracing how cider-repl-history-file is handled and how REPL types and remote sessions are distinguished. Define the project-relative, function, cons, remote-storage, and clj/cljs history behavior, then verify each requested case and the default-history decision.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure, emacs-lisp
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.