<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/functional/plugin/tutor_spec.lua, branch master</title>
<subtitle>Neovim fork with Rahm's personal hacks.</subtitle>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/'/>
<entry>
<title>test(harness): migrate away from magic globals</title>
<updated>2026-07-21T11:22:39+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-07-20T15:16:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6d8c8b18d551d0be0490640c00fabb816727ec10'/>
<id>6d8c8b18d551d0be0490640c00fabb816727ec10</id>
<content type='text'>
Problem:
The magic globals `it`, `describe`, etc., are more trouble than they are
worth.

- Hooking into `after_each` requires `getfenv()` hacks.
- They confuse luals/emmylua, because the top-level `.luarc.json` isn't
  merged with `test/.luarc.json` (apparently a luals limitation?)
- They totally defeat discoverability because the user just has to
  "know" about the various magic symbols.

So they harm DX, which means they serve no purpose at all.

Solution:
- Expose the test API from `testutil`, so tests can call `t.it()`,
  `t.describe()`, etc., in the conventional way.
- Drop `getfenv()` hacks.
- Drop the `setfenv()` injection in `load_chunk`.
- Drop `test/_meta.lua`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
The magic globals `it`, `describe`, etc., are more trouble than they are
worth.

- Hooking into `after_each` requires `getfenv()` hacks.
- They confuse luals/emmylua, because the top-level `.luarc.json` isn't
  merged with `test/.luarc.json` (apparently a luals limitation?)
- They totally defeat discoverability because the user just has to
  "know" about the various magic symbols.

So they harm DX, which means they serve no purpose at all.

Solution:
- Expose the test API from `testutil`, so tests can call `t.it()`,
  `t.describe()`, etc., in the conventional way.
- Drop `getfenv()` hacks.
- Drop the `setfenv()` injection in `load_chunk`.
- Drop `test/_meta.lua`.
</pre>
</div>
</content>
</entry>
<entry>
<title>revert: "fix(tutor): remove hyperlinks, simplify non-interactive examples" #36622</title>
<updated>2025-11-19T21:47:48+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2025-11-19T21:47:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=7c2d4df2d3b10646e80352ada9179a01529a8472'/>
<id>7c2d4df2d3b10646e80352ada9179a01529a8472</id>
<content type='text'>
This reverts commit 5e039c8e9775651bc24cf8a669d33217b24bd59e.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 5e039c8e9775651bc24cf8a669d33217b24bd59e.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(tutor): remove hyperlinks, simplify non-interactive examples #36307</title>
<updated>2025-10-27T17:24:00+00:00</updated>
<author>
<name>Eduardo Cruz Guedes</name>
<email>eduardo9cruz@gmail.com</email>
</author>
<published>2025-10-27T17:24:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=5e039c8e9775651bc24cf8a669d33217b24bd59e'/>
<id>5e039c8e9775651bc24cf8a669d33217b24bd59e</id>
<content type='text'>
1. Every hyperlink-like element was replaced by `"$1"` (where $1 is the original string showed in the hyperlink);
2. Arrows `---&gt;` were used in lines containing practice examples when no editing text is involved;
3. Context on interactivity was minimally adapted when strictly needed, not to disrupt the original tutor's intent;
4. Tests regarding the tutor file refactored to ensure the new syntax is not flagged as an error.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1. Every hyperlink-like element was replaced by `"$1"` (where $1 is the original string showed in the hyperlink);
2. Arrows `---&gt;` were used in lines containing practice examples when no editing text is involved;
3. Context on interactivity was minimally adapted when strictly needed, not to disrupt the original tutor's intent;
4. Tests regarding the tutor file refactored to ensure the new syntax is not flagged as an error.</pre>
</div>
</content>
</entry>
<entry>
<title>test(tutor_spec): remove test description("Tutor: tutor")</title>
<updated>2025-07-18T03:04:36+00:00</updated>
<author>
<name>brianhuster</name>
<email>phambinhanctb2004@gmail.com</email>
</author>
<published>2025-07-16T11:39:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=1de2a03fc7f4cf2eb11300257c832f88422d4745'/>
<id>1de2a03fc7f4cf2eb11300257c832f88422d4745</id>
<content type='text'>
Problem:
It is redundant since we have another test that test interactive marks
in lesson 2.6 of tutor 1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
It is redundant since we have another test that test interactive marks
in lesson 2.6 of tutor 1
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(tutor): reimplement interactive marks as extmark in Lua</title>
<updated>2025-07-18T03:04:20+00:00</updated>
<author>
<name>brianhuster</name>
<email>phambinhanctb2004@gmail.com</email>
</author>
<published>2025-07-13T16:44:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=1255a8d88d508e6c11d0addcd67d3959a2fb76cf'/>
<id>1255a8d88d508e6c11d0addcd67d3959a2fb76cf</id>
<content type='text'>
Problem:
From https://matrix.to/#/!cylwlNXSwagQmZSkzs:matrix.org/$Ofj-TFIsEMbp0O9OhE8xuZSNi-nhRLtZTOgs6JRLNrs?via=matrix.org&amp;via=gitter.im&amp;via=mozilla.org

In lesson 2.6, users are asked to remove the second, forth and fifth
lines with `dd` command, then they are asked to undo twice to make the
text go back to original state. But after that, the mark ✗ appears
again, which confuses the user because they think they do something
wrong. This is a limitation with the current implementation, which is
based on line number only.

Solution:
Reimplement interactive marks as extmarks in Lua. This also make the
feature less fragile, as users can remove, add some arbitrary lines
without breaking the interactive marks.

Co-authored-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
From https://matrix.to/#/!cylwlNXSwagQmZSkzs:matrix.org/$Ofj-TFIsEMbp0O9OhE8xuZSNi-nhRLtZTOgs6JRLNrs?via=matrix.org&amp;via=gitter.im&amp;via=mozilla.org

In lesson 2.6, users are asked to remove the second, forth and fifth
lines with `dd` command, then they are asked to undo twice to make the
text go back to original state. But after that, the mark ✗ appears
again, which confuses the user because they think they do something
wrong. This is a limitation with the current implementation, which is
based on line number only.

Solution:
Reimplement interactive marks as extmarks in Lua. This also make the
feature less fragile, as users can remove, add some arbitrary lines
without breaking the interactive marks.

Co-authored-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.1.1421: tests: need a test for the new-style tutor.tutor (#34267)</title>
<updated>2025-06-28T07:42:51+00:00</updated>
<author>
<name>Phạm Bình An</name>
<email>111893501+brianhuster@users.noreply.github.com</email>
</author>
<published>2025-06-28T07:42:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=f1f106be3d243ad0561cda4a35b0b7911e02d03e'/>
<id>f1f106be3d243ad0561cda4a35b0b7911e02d03e</id>
<content type='text'>
Problem:  tests: need a test for the new-style tutor.tutor, patch
          9.1.1384 broke the expected positions for the signs
Solution: Update all number keys in tutor.tutor.json to match the
          correct line numbers in tutor.tutor, replace tabs by spaces,
          add a screen-dump test to verify it does not regress
          (Pham Bình An)

closes: vim/vim#17416

https://github.com/vim/vim/commit/a541f1de2bfdd18d927974bc13fe5d4ee3cb5698</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  tests: need a test for the new-style tutor.tutor, patch
          9.1.1384 broke the expected positions for the signs
Solution: Update all number keys in tutor.tutor.json to match the
          correct line numbers in tutor.tutor, replace tabs by spaces,
          add a screen-dump test to verify it does not regress
          (Pham Bình An)

closes: vim/vim#17416

https://github.com/vim/vim/commit/a541f1de2bfdd18d927974bc13fe5d4ee3cb5698</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:2323f22: runtime(new-tutor): add chapter two to the interactive tutorial</title>
<updated>2025-05-23T02:34:39+00:00</updated>
<author>
<name>brianhuster</name>
<email>phambinhanctb2004@gmail.com</email>
</author>
<published>2025-05-23T01:07:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=41c850e2c8dc56284db8eacb9581beafd27690a8'/>
<id>41c850e2c8dc56284db8eacb9581beafd27690a8</id>
<content type='text'>
closes: vim/vim#16803

https://github.com/vim/vim/commit/2323f225ca8aa61d9a66fd8aac007bec781c048d

Co-authored-by: RestorerZ &lt;restorer@mail2k.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
closes: vim/vim#16803

https://github.com/vim/vim/commit/2323f225ca8aa61d9a66fd8aac007bec781c048d

Co-authored-by: RestorerZ &lt;restorer@mail2k.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>docs(tutor): move lesson 7.2 below lesson 7.3 #33662</title>
<updated>2025-05-21T09:26:57+00:00</updated>
<author>
<name>Phạm Bình An</name>
<email>111893501+brianhuster@users.noreply.github.com</email>
</author>
<published>2025-05-21T09:26:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=dd43eb445a703b2bfa577918381ede9d0f4adb2d'/>
<id>dd43eb445a703b2bfa577918381ede9d0f4adb2d</id>
<content type='text'>
Problem:

- Lesson 7.3 (Cmdline Completion) teaches an important way to discover
  Nvim features. I think users should learn it before they start
  configuring Nvim
- Nvim can be configured in Lua as well, but lesson 7.2 (Configuring
  Nvim) only mentions init.vim. And I think Nvim is promoting Lua more

Solution:

- Move lesson 7.2 to be after lesson 7.3
- Lesson 7.2 should teach about init.lua

Co-authored-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:

- Lesson 7.3 (Cmdline Completion) teaches an important way to discover
  Nvim features. I think users should learn it before they start
  configuring Nvim
- Nvim can be configured in Lua as well, but lesson 7.2 (Configuring
  Nvim) only mentions init.vim. And I think Nvim is promoting Lua more

Solution:

- Move lesson 7.2 to be after lesson 7.3
- Lesson 7.2 should teach about init.lua

Co-authored-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>docs: provide example_init.lua #33524</title>
<updated>2025-04-27T15:11:02+00:00</updated>
<author>
<name>Phạm Bình An</name>
<email>111893501+brianhuster@users.noreply.github.com</email>
</author>
<published>2025-04-27T15:11:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=86b34ad073797da791348b97393d5d7b7ceca2e3'/>
<id>86b34ad073797da791348b97393d5d7b7ceca2e3</id>
<content type='text'>
Problem:
There are some "boilerplate" steps for new users. Although we are
constantly improving defaults and lifting patterns into core, users
eventually want to know how to start their own config, add plugins, etc.

Solution:
Add `runtime/example_init.lua` and refer to it from docs.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
There are some "boilerplate" steps for new users. Although we are
constantly improving defaults and lifting patterns into core, users
eventually want to know how to start their own config, add plugins, etc.

Solution:
Add `runtime/example_init.lua` and refer to it from docs.</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:829eda7: runtime(new-tutor): update tutor and correct comandline completion (#33449)</title>
<updated>2025-04-15T07:11:17+00:00</updated>
<author>
<name>Phạm Bình An</name>
<email>111893501+brianhuster@users.noreply.github.com</email>
</author>
<published>2025-04-15T07:11:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c58c650adf443f126c575ca7c60400c2ac15d255'/>
<id>c58c650adf443f126c575ca7c60400c2ac15d255</id>
<content type='text'>
Problem: Some parts of the tutor are outdated.

- For example, pressing `&lt;Tab&gt;` after typing `:e` does not complete the
command `:edit`, but shows a completion menu with the first entry being
`:earlier`.

closes: vim/vim#17107

https://github.com/vim/vim/commit/829eda7d381e5f635169c927103568b335cd599d</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: Some parts of the tutor are outdated.

- For example, pressing `&lt;Tab&gt;` after typing `:e` does not complete the
command `:edit`, but shows a completion menu with the first entry being
`:earlier`.

closes: vim/vim#17107

https://github.com/vim/vim/commit/829eda7d381e5f635169c927103568b335cd599d</pre>
</div>
</content>
</entry>
</feed>
