diff --git a/runtime/syntax/astro.vim b/runtime/syntax/astro.vim
new file mode 100644
index 0000000..0816051
--- /dev/null
+++ b/runtime/syntax/astro.vim
@@ -0,0 +1,190 @@
+" Vim syntax file.
+" Language:    Astro
+" Author:      Wuelner Martínez <wuelner.martinez@outlook.com>
+" Maintainer:  Wuelner Martínez <wuelner.martinez@outlook.com>
+" URL:         https://github.com/wuelnerdotexe/vim-astro
+" Last Change: 2022 Aug 22
+" Based On:    Evan Lecklider's vim-svelte
+" Changes:     See https://github.com/evanleck/vim-svelte
+" Credits:     See vim-svelte on github
+
+" Quit when a (custom) syntax file was already loaded.
+if !exists('main_syntax')
+  if exists('b:current_syntax')
+    finish
+  endif
+  let main_syntax = 'astro'
+elseif exists('b:current_syntax') && b:current_syntax == 'astro'
+  finish
+endif
+
+" Astro syntax variables are initialized.
+let g:astro_typescript = get(g:, 'astro_typescript', 'disable')
+let g:astro_stylus = get(g:, 'astro_stylus', 'disable')
+
+let s:cpoptions_save = &cpoptions
+set cpoptions&vim
+
+" Embedded HTML syntax.
+runtime! syntax/html.vim
+
+" htmlTagName: expand HTML tag names to include mixed case and periods.
+syntax match htmlTagName contained "\<[a-zA-Z\.]*\>"
+
+" astroDirectives: add Astro Directives to HTML arguments.
+syntax match astroDirectives contained '\<[a-z]\+:[a-z|]*\>' containedin=htmlTag
+
+unlet b:current_syntax
+
+if g:astro_typescript == 'enable'
+  " Embedded TypeScript syntax.
+  syntax include @astroJavaScript syntax/typescript.vim
+
+  " javaScriptExpression: a javascript expression is used as an arg value.
+  syntax clear javaScriptExpression
+  syntax region javaScriptExpression
+        \ contained start=+&{+
+        \ keepend end=+};+
+        \ contains=@astroJavaScript,@htmlPreproc
+
+  " javaScript: add TypeScript support to HTML script tag.
+  syntax clear javaScript
+  syntax region javaScript
+        \ start=+<script\_[^>]*>+
+        \ keepend
+        \ end=+</script\_[^>]*>+me=s-1
+        \ contains=htmlScriptTag,@astroJavaScript,@htmlPreproc,htmlCssStyleComment
+else
+  " Embedded JavaScript syntax.
+  syntax include @astroJavaScript syntax/javascript.vim
+endif
+
+" astroFence: detect the Astro fence.
+syntax match astroFence contained +^---$+
+
+" astrojavaScript: add TypeScript support to Astro code fence.
+syntax region astroJavaScript
+      \ start=+^---$+
+      \ keepend
+      \ end=+^---$+
+      \ contains=htmlTag,@astroJavaScript,@htmlPreproc,htmlCssStyleComment,htmlEndTag,astroFence
+      \ fold
+
+unlet b:current_syntax
+
+if g:astro_typescript == 'enable'
+  " Embedded TypeScript React (TSX) syntax.
+  syntax include @astroJavaScriptReact syntax/typescriptreact.vim
+else
+  " Embedded JavaScript React (JSX) syntax.
+  syntax include @astroJavaScriptReact syntax/javascriptreact.vim
+endif
+
+" astroJavaScriptExpression: add {JSX or TSX} support to Astro expresions.
+execute 'syntax region astroJavaScriptExpression start=+{+ keepend end=+}+ ' .
+      \ 'contains=@astroJavaScriptReact, @htmlPreproc containedin=' . join([
+      \   'htmlArg', 'htmlBold', 'htmlBoldItalic', 'htmlBoldItalicUnderline',
+      \   'htmlBoldUnderline', 'htmlBoldUnderlineItalic', 'htmlH1', 'htmlH2',
+      \   'htmlH3', 'htmlH4', 'htmlH5', 'htmlH6', 'htmlHead', 'htmlItalic',
+      \   'htmlItalicBold', 'htmlItalicBoldUnderline', 'htmlItalicUnderline',
+      \   'htmlItalicUnderlineBold', 'htmlLeadingSpace', 'htmlLink',
+      \   'htmlStrike', 'htmlString', 'htmlTag', 'htmlTitle', 'htmlUnderline',
+      \   'htmlUnderlineBold', 'htmlUnderlineBoldItalic',
+      \   'htmlUnderlineItalic', 'htmlUnderlineItalicBold', 'htmlValue'
+      \ ], ',')
+
+" cssStyle: add CSS style tags support in TypeScript React.
+syntax region cssStyle
+      \ start=+<style\_[^>]*>+
+      \ keepend
+      \ end=+</style\_[^>]*>+me=s-1
+      \ contains=htmlTag,@htmlCss,htmlCssStyleComment,@htmlPreproc,htmlEndTag
+      \ containedin=@astroJavaScriptReact
+
+unlet b:current_syntax
+
+" Embedded SCSS syntax.
+syntax include @astroScss syntax/scss.vim
+
+" cssStyle: add SCSS style tags support in Astro.
+syntax region scssStyle
+      \ start=/<style\>\_[^>]*\(lang\)=\("\|''\)[^\2]*scss[^\2]*\2\_[^>]*>/
+      \ keepend
+      \ end=+</style>+me=s-1
+      \ contains=@astroScss,astroSurroundingTag
+      \ fold
+
+unlet b:current_syntax
+
+" Embedded SASS syntax.
+syntax include @astroSass syntax/sass.vim
+
+" cssStyle: add SASS style tags support in Astro.
+syntax region sassStyle
+      \ start=/<style\>\_[^>]*\(lang\)=\("\|''\)[^\2]*sass[^\2]*\2\_[^>]*>/
+      \ keepend
+      \ end=+</style>+me=s-1
+      \ contains=@astroSass,astroSurroundingTag
+      \ fold
+
+unlet b:current_syntax
+
+" Embedded LESS syntax.
+syntax include @astroLess syntax/less.vim
+
+" cssStyle: add LESS style tags support in Astro.
+syntax region lessStyle
+      \ start=/<style\>\_[^>]*\(lang\)=\("\|''\)[^\2]*less[^\2]*\2\_[^>]*>/
+      \ keepend
+      \ end=+</style>+me=s-1
+      \ contains=@astroLess,astroSurroundingTag
+      \ fold
+
+unlet b:current_syntax
+
+" Embedded Stylus syntax.
+" NOTE: Vim does not provide stylus support by default, but you can install
+"       this plugin to support it: https://github.com/wavded/vim-stylus
+if g:astro_stylus == 'enable'
+  try
+    " Embedded Stylus syntax.
+    syntax include @astroStylus syntax/stylus.vim
+
+    " stylusStyle: add Stylus style tags support in Astro.
+    syntax region stylusStyle
+          \ start=/<style\>\_[^>]*\(lang\)=\("\|''\)[^\2]*stylus[^\2]*\2\_[^>]*>/
+          \ keepend
+          \ end=+</style>+me=s-1
+          \ contains=@astroStylus,astroSurroundingTag
+          \ fold
+
+    unlet b:current_syntax
+  catch
+    echomsg "you need install a external plugin for support stylus in .astro files"
+  endtry
+endif
+
+" astroSurroundingTag: add surround HTML tag to script and style.
+syntax region astroSurroundingTag
+      \ start=+<\(script\|style\)+
+      \ end=+>+
+      \ contains=htmlTagError,htmlTagN,htmlArg,htmlValue,htmlEvent,htmlString
+      \ contained
+      \ fold
+
+" Define the default highlighting.
+" Only used when an item doesn't have highlighting yet.
+highlight default link astroDirectives Special
+highlight default link astroFence Comment
+
+let b:current_syntax = 'astro'
+if main_syntax == 'astro'
+  unlet main_syntax
+endif
+
+" Sync from start because of the wacky nesting.
+syntax sync fromstart
+
+let &cpoptions = s:cpoptions_save
+unlet s:cpoptions_save
+" vim: ts=8
