Update runtime files
diff --git a/runtime/ftplugin/rnoweb.vim b/runtime/ftplugin/rnoweb.vim
index dc5f1b5..cf1c092 100644
--- a/runtime/ftplugin/rnoweb.vim
+++ b/runtime/ftplugin/rnoweb.vim
@@ -2,7 +2,7 @@
 " Language: Rnoweb
 " Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
 " Homepage: https://github.com/jalvesaq/R-Vim-runtime
-" Last Change:	Sat Aug 15, 2020  12:02PM
+" Last Change:	Sun Apr 24, 2022  09:13AM
 
 " Only do this when not yet done for this buffer
 if exists("b:did_ftplugin")
@@ -25,10 +25,27 @@
 setlocal comments=b:%,b:#,b:##,b:###,b:#'
 
 if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
-  let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
+  let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst *.qmd)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst;*.qmd\n" .
         \ "All Files (*.*)\t*.*\n"
 endif
 
+function! SetRnwCommentStr()
+    if (search("^\s*<<.*>>=", "bncW") > search("^@", "bncW"))
+        set commentstring=#\ %s
+    else
+        set commentstring=%\ %s
+    endif
+endfunction
+
+" If you do not want both 'comments' and 'commentstring' dynamically defined,
+" put in your vimrc: let g:rnw_dynamic_comments = 0
+if !exists("g:rnw_dynamic_comments") || (exists("g:rnw_dynamic_comments") && g:rnw_dynamic_comments == 1)
+  augroup RnwCStr
+    autocmd!
+    autocmd CursorMoved <buffer> call SetRnwCommentStr()
+  augroup END
+endif
+
 if exists('b:undo_ftplugin')
   let b:undo_ftplugin .= " | setl isk< sua< com< | unlet! b:browsefilter"
 else