diff --git a/runtime/syntax/meson.vim b/runtime/syntax/meson.vim
new file mode 100644
index 0000000..78de2ab
--- /dev/null
+++ b/runtime/syntax/meson.vim
@@ -0,0 +1,165 @@
+" Vim syntax file
+" Language:	Meson
+" License:	VIM License
+" Maintainer:	Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
+" Last Change:	2019 Oct 18
+" Credits:	Zvezdan Petkovic <zpetkovic@acm.org>
+"		Neil Schemenauer <nas@meson.ca>
+"		Dmitry Vasiliev
+"
+"		This version is copied and edited from python.vim
+"		It's very basic, and doesn't do many things I'd like it to
+"		For instance, it should show errors for syntax that is valid in
+"		Python but not in Meson.
+"
+" Optional highlighting can be controlled using these variables.
+"
+"   let meson_space_error_highlight = 1
+"
+
+" For version 5.x: Clear all syntax items.
+" For version 6.x: Quit when a syntax file was already loaded.
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" We need nocompatible mode in order to continue lines with backslashes.
+" Original setting will be restored.
+let s:cpo_save = &cpo
+set cpo&vim
+
+" http://mesonbuild.com/Syntax.html
+syn keyword mesonConditional	elif else if endif
+syn keyword mesonRepeat	foreach endforeach
+syn keyword mesonOperator	and not or
+
+syn match   mesonComment	"#.*$" contains=mesonTodo,@Spell
+syn keyword mesonTodo		FIXME NOTE NOTES TODO XXX contained
+
+" Strings can either be single quoted or triple counted across multiple lines,
+" but always with a '
+syn region  mesonString
+      \ start="\z('\)" end="\z1" skip="\\\\\|\\\z1"
+      \ contains=mesonEscape,@Spell
+syn region  mesonString
+      \ start="\z('''\)" end="\z1" keepend
+      \ contains=mesonEscape,mesonSpaceError,@Spell
+
+syn match   mesonEscape	"\\[abfnrtv'\\]" contained
+syn match   mesonEscape	"\\\o\{1,3}" contained
+syn match   mesonEscape	"\\x\x\{2}" contained
+syn match   mesonEscape	"\%(\\u\x\{4}\|\\U\x\{8}\)" contained
+" Meson allows case-insensitive Unicode IDs: http://www.unicode.org/charts/
+syn match   mesonEscape	"\\N{\a\+\%(\s\a\+\)*}" contained
+syn match   mesonEscape	"\\$"
+
+" Meson only supports integer numbers
+" http://mesonbuild.com/Syntax.html#numbers
+syn match   mesonNumber	"\<\d\+\>"
+
+" booleans
+syn keyword mesonConstant	false true
+
+" Built-in functions
+syn keyword mesonBuiltin
+  \ add_global_arguments
+  \ add_global_link_arguments
+  \ add_languages
+  \ add_project_arguments
+  \ add_project_link_arguments
+  \ add_test_setup
+  \ alias_target
+  \ assert
+  \ benchmark
+  \ both_libraries
+  \ build_machine
+  \ build_target
+  \ configuration_data
+  \ configure_file
+  \ custom_target
+  \ declare_dependency
+  \ dependency
+  \ disabler
+  \ environment
+  \ error
+  \ executable
+  \ files
+  \ find_library
+  \ find_program
+  \ generator
+  \ get_option
+  \ get_variable
+  \ gettext
+  \ host_machine
+  \ import
+  \ include_directories
+  \ install_data
+  \ install_headers
+  \ install_man
+  \ install_subdir
+  \ is_disabler
+  \ is_variable
+  \ jar
+  \ join_paths
+  \ library
+  \ meson
+  \ message
+  \ option
+  \ project
+  \ run_command
+  \ run_target
+  \ set_variable
+  \ shared_library
+  \ shared_module
+  \ static_library
+  \ subdir
+  \ subdir_done
+  \ subproject
+  \ target_machine
+  \ test
+  \ vcs_tag
+  \ warning
+
+if exists("meson_space_error_highlight")
+  " trailing whitespace
+  syn match   mesonSpaceError	display excludenl "\s\+$"
+  " mixed tabs and spaces
+  syn match   mesonSpaceError	display " \+\t"
+  syn match   mesonSpaceError	display "\t\+ "
+endif
+
+if version >= 508 || !exists("did_meson_syn_inits")
+  if version <= 508
+    let did_meson_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  " The default highlight links.  Can be overridden later.
+  HiLink mesonStatement		Statement
+  HiLink mesonConditional	Conditional
+  HiLink mesonRepeat		Repeat
+  HiLink mesonOperator		Operator
+  HiLink mesonComment		Comment
+  HiLink mesonTodo		Todo
+  HiLink mesonString		String
+  HiLink mesonEscape		Special
+  HiLink mesonNumber		Number
+  HiLink mesonBuiltin		Function
+  HiLink mesonConstant		Number
+  if exists("meson_space_error_highlight")
+    HiLink mesonSpaceError	Error
+  endif
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "meson"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim:set sw=2 sts=2 ts=8 noet:
