READY: Add lem-tutor interactive tutorial extension#2144
Conversation
Closes lem-project#1967 - Alt-x tutorial opens an interactive tutorial buffer - Working copy saved to (lem-home)/lem-tutor-saves/ - Cursor position persisted across sessions - Lesson 1: Movement - Lesson 2: Files and Configuration
|
👌 I love the progression. |
…er argument handling
… names, Capitalization, typo fixes
ℹ️ 1 violation(s) dismissed 💬 Feedback Reply to a violation comment with:
📚 About Code ContractorDeclarative Code Standards That Learn and Improve Define domain-specific validation rules in YAML. Want this for your repo? |
| (column (getf plist :column)) | ||
| (point (buffer-point (find-file-buffer (tutorial-save-file))))) | ||
| (move-to-line point line) | ||
| (move-to-column point column)))) |
There was a problem hiding this comment.
Code Contractor: error_handling_rule
Contract: contract
AI check failed: "error_handling_rule"
Reason:
User-facing failure handling reports a message directly instead of using editor-error as required for messages shown to users.
💬 Reply /dismiss <reason> to dismiss this violation.
There was a problem hiding this comment.
I'll see to those soon.
|
This PR is ready for review. A working tutorial command that opens an interactive tutorial buffer with progress save/restore across sessions To load and run: Syntax highlighting for the tutorial buffer Suggestions on content, structure, or anything else are very welcome — including from the community on Discord. |
| Two keys that are useful right now: | ||
|
|
||
| C-v Scroll down one screen | ||
| M-v Scroll up one screen |
There was a problem hiding this comment.
is there a reason to keep the M-x notation instead of Alt-x? (here and below) For newcomers, we shouldn't be weird, let's show Alt-… as much as possible.
There was a problem hiding this comment.
Ah, I somehow thought we changed only Alt-x for commands. And leave the M-letter keybindings. I'll change it. As soon as I can.
Witch was just now.
| (merge-pathnames "init.lisp" (lem:lem-home)))) | ||
|
|
||
| (define-keys *global-keymap* | ||
| ("Alt-C-e" 'open-init-file)) |
There was a problem hiding this comment.
we can't use "Alt" in define-keys :S
we'll manage to merge this I have faith.
There was a problem hiding this comment.
It's not faith I'm worried about. My own understanding maybe a bit though. You are right, I have this keybindings myself and it does conflict with some modes out there I noticed. M-C-e that is Will think of one that is unused and makes sense, I am if course open to suggestions.
Closes #1967
This PR is ready for review.
What's included:
A working tutorial command that opens an interactive tutorial buffer with progress save/restore across sessions
Lessons 1–4 covering movement, files & configuration, buffers & windows, and editing
Future lessons will be added as separate files
Follows Lem conventions throughout (error handling, lazy-init paths, docstrings)
To load and run:
Since lem-tutor lives inside the Lem source tree, ASDF will find it once the source registry is initialised. In a SLIME REPL inside Lem:
lisp(asdf:initialize-source-registry
'(:source-registry
(:tree "/path/to/lem/")
:inherit-configuration))
(asdf:load-system :lem-tutor)
Then: Alt-x tutorial
Planned follow-up (not blocking merge):
Syntax highlighting for the tutorial buffer
Lesson 5 covering Common Lisp / SLIME
Tests will be added alongside future functionality where applicable
Suggestions on content, structure, or anything else are very welcome — including from the community on Discord.