mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-03 17:24:29 +00:00 
			
		
		
		
	Problem:  still some problem with the new tutors filetype plugin
Solution: refactor code to enable/disable tutor mode into
          tutor#EnableInteractive() function, include a test
          (Phạm Bình An)
I find it annoying that Tutor's interactive mode is always on (or debug
mode is off) even when I open a tutor file with :edit command.
I think it makes more sense to make this "interactive mode":
- Always on when it is opened with :Tutor command
- Off otherwise
For more references, see `:help` feature, it is a much better than
:Tutor, since I don't have to run `:let g:help_debug = 1` just to be able
to edit and save a help file
Therefore, I remove `g:tutor_debug`
closes: vim/vim#17299
13bea589a2
Co-authored-by: Phạm Bình An <phambinhanctb2004@gmail.com>
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Tutor filetype plugin
 | 
						|
" Language:	Tutor (the new tutor plugin)
 | 
						|
" Maintainer:	This runtime file is looking for a new maintainer.
 | 
						|
" Last Change:	2025 May 10
 | 
						|
" Contributors:	Phạm Bình An <phambinhanctb2004@gmail.com>
 | 
						|
" Original Author: Felipe Morales <hel.sheep@gmail.com>
 | 
						|
" Last Change:
 | 
						|
" 2025 May 10 set b:undo_ftplugin
 | 
						|
" 2025 May 12 update b:undo_ftplugin
 | 
						|
 | 
						|
" Base: {{{1
 | 
						|
call tutor#SetupVim()
 | 
						|
 | 
						|
" Buffer Settings: {{{1
 | 
						|
setlocal noreadonly
 | 
						|
setlocal noundofile
 | 
						|
 | 
						|
setlocal keywordprg=:help
 | 
						|
setlocal iskeyword=@,-,_
 | 
						|
 | 
						|
" The user will have to enable the folds themself, but we provide the foldexpr
 | 
						|
" function.
 | 
						|
setlocal foldmethod=manual
 | 
						|
setlocal foldexpr=tutor#TutorFolds()
 | 
						|
setlocal foldlevel=4
 | 
						|
 | 
						|
" Load metadata if it exists: {{{1
 | 
						|
if filereadable(expand('%').'.json')
 | 
						|
    call tutor#LoadMetadata()
 | 
						|
endif
 | 
						|
 | 
						|
" Mappings: {{{1
 | 
						|
 | 
						|
call tutor#SetNormalMappings()
 | 
						|
 | 
						|
" Checks: {{{1
 | 
						|
 | 
						|
sign define tutorok text=✓ texthl=tutorOK
 | 
						|
sign define tutorbad text=✗ texthl=tutorX
 | 
						|
 | 
						|
let b:undo_ftplugin = "setl foldmethod< foldexpr< foldlevel< undofile< keywordprg< iskeyword< |"
 | 
						|
    \ . "call tutor#EnableInteractive(v:false) |"
 | 
						|
 | 
						|
" vim: fdm=marker
 |