Update runtime files.
diff --git a/runtime/ftplugin/haskell.vim b/runtime/ftplugin/haskell.vim
index de77bdf..84f4d05 100644
--- a/runtime/ftplugin/haskell.vim
+++ b/runtime/ftplugin/haskell.vim
@@ -1,7 +1,8 @@
 " Vim filetype plugin file
 " Language:             Haskell
+" Maintainer:           Daniel Campoverde <alx@sillybytes.net>
 " Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
-" Latest Revision:      2008-07-09
+" Latest Revision:      2018-08-27
 
 if exists("b:did_ftplugin")
   finish
@@ -15,6 +16,7 @@
 
 setlocal comments=s1fl:{-,mb:-,ex:-},:-- commentstring=--\ %s
 setlocal formatoptions-=t formatoptions+=croql
+setlocal omnifunc=haskellcomplete#Complete
 
 let &cpo = s:cpo_save
 unlet s:cpo_save
diff --git a/runtime/ftplugin/rmd.vim b/runtime/ftplugin/rmd.vim
index 8c092ac..7b0db8d 100644
--- a/runtime/ftplugin/rmd.vim
+++ b/runtime/ftplugin/rmd.vim
@@ -2,7 +2,7 @@
 " Language: R Markdown file
 " Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
 " Homepage: https://github.com/jalvesaq/R-Vim-runtime
-" Last Change:	Mon Jun 06, 2016  09:41PM
+" Last Change:	Sun Jul 22, 2018  06:51PM
 " Original work by Alex Zvoleff (adjusted from R help for rmd by Michel Kuhlmann)
 
 " Only do this when not yet done for this buffer
@@ -10,19 +10,12 @@
   finish
 endif
 
-runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
-
-" Nvim-R plugin needs this
-if exists("*CompleteR")
-  if &omnifunc == "CompleteR"
-    let b:rplugin_nonr_omnifunc = ""
-  else
-    let b:rplugin_nonr_omnifunc = &omnifunc
-  endif
-  set omnifunc=CompleteR
+if exists('g:rmd_include_html') && g:rmd_include_html
+  runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
 endif
 
-setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
+setlocal comments=fb:*,fb:-,fb:+,n:>
+setlocal commentstring=#\ %s
 setlocal formatoptions+=tcqln
 setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+
 setlocal iskeyword=@,48-57,_,.
@@ -30,6 +23,22 @@
 let s:cpo_save = &cpo
 set cpo&vim
 
+function! FormatRmd()
+  if search("^[ \t]*```[ ]*{r", "bncW") > search("^[ \t]*```$", "bncW")
+    setlocal comments=:#',:###,:##,:#
+  else
+    setlocal comments=fb:*,fb:-,fb:+,n:>
+  endif
+  return 1
+endfunction
+
+" If you do not want 'comments' dynamically defined, put in your vimrc:
+" let g:rmd_dynamic_comments = 0
+if !exists("g:rmd_dynamic_comments") || (exists("g:rmd_dynamic_comments") && g:rmd_dynamic_comments == 1)
+  setlocal formatexpr=FormatRmd()
+endif
+
+
 " Enables pandoc if it is installed
 unlet! b:did_ftplugin
 runtime ftplugin/pandoc.vim
diff --git a/runtime/ftplugin/rrst.vim b/runtime/ftplugin/rrst.vim
index ecfd6e8..3e82847 100644
--- a/runtime/ftplugin/rrst.vim
+++ b/runtime/ftplugin/rrst.vim
@@ -2,7 +2,7 @@
 " Language: reStructuredText documentation format with R code
 " Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
 " Homepage: https://github.com/jalvesaq/R-Vim-runtime
-" Last Change:	Tue Apr 07, 2015  04:38PM
+" Last Change:	Wed Nov 01, 2017  10:47PM
 " Original work by Alex Zvoleff
 
 " Only do this when not yet done for this buffer
@@ -16,11 +16,27 @@
 let s:cpo_save = &cpo
 set cpo&vim
 
-setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
+setlocal comments=fb:*,fb:-,fb:+,n:>
+setlocal commentstring=#\ %s
 setlocal formatoptions+=tcqln
 setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+
 setlocal iskeyword=@,48-57,_,.
 
+function! FormatRrst()
+  if search('^\.\. {r', "bncW") > search('^\.\. \.\.$', "bncW")
+    setlocal comments=:#',:###,:##,:#
+  else
+    setlocal comments=fb:*,fb:-,fb:+,n:>
+  endif
+  return 1
+endfunction
+
+" If you do not want 'comments' dynamically defined, put in your vimrc:
+" let g:rrst_dynamic_comments = 0
+if !exists("g:rrst_dynamic_comments") || (exists("g:rrst_dynamic_comments") && g:rrst_dynamic_comments == 1)
+  setlocal formatexpr=FormatRrst()
+endif
+
 if has("gui_win32") && !exists("b:browsefilter")
   let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
         \ "All Files (*.*)\t*.*\n"