diff --git a/runtime/doc/ft_ada.txt b/runtime/doc/ft_ada.txt
index 6f328e6..94b5d8e 100644
--- a/runtime/doc/ft_ada.txt
+++ b/runtime/doc/ft_ada.txt
@@ -82,7 +82,7 @@
  - comment handling	(|'comments'|, |'commentstring'|)
 
 The plug-in only activates the features of the Ada mode whenever an Ada
-files is opened and add adds Ada related entries to the main and pop-up menu.
+file is opened and adds Ada related entries to the main and pop-up menu.
 
 ==============================================================================
 3. Omni Completion ~
@@ -142,7 +142,7 @@
 4.  Compiler Support ~
 								*ada-compiler*
 
-The Ada mode supports more then one Ada compiler and will automatically load the
+The Ada mode supports more than one Ada compiler and will automatically load the
 compiler set in|g:ada_default_compiler|whenever an Ada source is opened. The
 provided compiler plug-ins are split into the actual compiler plug-in and a
 collection of support functions and variables. This allows the easy
@@ -154,7 +154,7 @@
 							       *compiler-gnat*
 
 GNAT is the only free (beer and speech) Ada compiler available. There are
-several version available which differentiate in the licence terms used.
+several versions available which differ in the licence terms used.
 
 The GNAT compiler plug-in will perform a compile on pressing <F7> and then
 immediately shows the result. You can set the project file to be used by
@@ -163,7 +163,7 @@
  > call g:gnat.Set_Project_File ('my_project.gpr')
 
 Setting a project file will also create a Vim session (|views-sessions|) so -
-like with the GPS - opened files, window positions etc. will remembered
+like with the GPS - opened files, window positions etc. will be remembered
 separately for all projects.
 
 								*gnat_members*
@@ -228,9 +228,9 @@
 compile the current unit.
 
 The Dec Ada compiler expects the package name and not the file name to be
-passed a parameter. The compiler plug-in supports the usual file name
-convention to convert the file into a unit name. For separates both '-' and
-'__' are allowed.
+passed as a parameter. The compiler plug-in supports the usual file name
+convention to convert the file into a unit name. Both '-' and '__' are allowed
+as separators.
 
 							      *decada_members*
 DEC ADA OBJECT ~
@@ -262,7 +262,7 @@
 
 							*g:ada_standard_types*
 g:ada_standard_types	bool (true when exists)
-		Highlight types in package Standard (e.g., "Float")
+		Highlight types in package Standard (e.g., "Float").
 
 							  *g:ada_space_errors*
 						  *g:ada_no_trail_space_error*
@@ -279,13 +279,13 @@
 
 							   *g:ada_line_errors*
 g:ada_line_errors	  bool (true when exists)
-		Highlight lines which are to long. Note: This highlighting
+		Highlight lines which are too long. Note: This highlighting
 		option is quite CPU intensive.
 
 							 *g:ada_rainbow_color*
 g:ada_rainbow_color	  bool (true when exists)
 		Use rainbow colours for '(' and ')'. You need the
-		rainbow_parenthesis for this to work
+		rainbow_parenthesis for this to work.
 
 							       *g:ada_folding*
 g:ada_folding		  set ('sigpft')
@@ -313,7 +313,7 @@
 
 								*g:ada_abbrev*
 g:ada_abbrev		  bool (true when exists)
-		Add some abbreviations. This feature more or less superseded
+		Add some abbreviations. This feature is more or less superseded
 		by the various completion methods.
 
 						      *g:ada_withuse_ordinary*
@@ -359,12 +359,12 @@
 
 						      *g:ada_default_compiler*
 g:ada_default_compiler	  string
-		set default compiler. Currently supported is 'gnat' and
+		set default compiler. Currently supported are 'gnat' and
 		'decada'.
 
-An "exists" type is a boolean is considered true when the variable is defined
-and false when the variable is undefined. The value which the variable is
-set makes no difference.
+An "exists" type is a boolean considered true when the variable is defined and
+false when the variable is undefined. The value to which the variable is set
+makes no difference.
 
 ------------------------------------------------------------------------------
 5.3 Commands ~
@@ -372,10 +372,10 @@
 
 :AdaRainbow							 *:AdaRainbow*
 		Toggles rainbow colour (|g:ada_rainbow_color|) mode for
-		'(' and ')'
+		'(' and ')'.
 
 :AdaLines							   *:AdaLines*
-		Toggles line error (|g:ada_line_errors|) display
+		Toggles line error (|g:ada_line_errors|) display.
 
 :AdaSpaces							  *:AdaSpaces*
 		Toggles space error (|g:ada_space_errors|) display.
@@ -424,7 +424,7 @@
 
 							     *g:ada#WordRegex*
 g:ada#WordRegex		string
-		Regular expression to search for Ada words
+		Regular expression to search for Ada words.
 
 							  *g:ada#DotWordRegex*
 g:ada#DotWordRegex	string
@@ -432,7 +432,7 @@
 
 							       *g:ada#Comment*
 g:ada#Comment		string
-		Regular expression to search for Ada comments
+		Regular expression to search for Ada comments.
 
 							      *g:ada#Keywords*
 g:ada#Keywords		list of dictionaries
@@ -454,7 +454,7 @@
 
 ada#List_Tag([{line}, {col}])				      *ada#Listtags()*
 		List all occurrences of the Ada entity under the cursor (or at
-		given line/column) inside the quick-fix window
+		given line/column) inside the quick-fix window.
 
 ada#Jump_Tag ({ident}, {mode})				      *ada#Jump_Tag()*
 		List all occurrences of the Ada entity under the cursor (or at
@@ -482,8 +482,8 @@
 8. Extra Plugins ~
 							   *ada-extra-plugins*
 
-You can optionally install the following extra plug-in. They work well with Ada
-and enhance the ability of the Ada mode.:
+You can optionally install the following extra plug-ins. They work well with
+Ada and enhance the ability of the Ada mode:
 
 backup.vim
 	http://www.vim.org/scripts/script.php?script_id=1537
@@ -501,7 +501,7 @@
 matchit.vim
 	http://www.vim.org/scripts/script.php?script_id=39
 	'%' jumping for any language. The normal '%' jump only works for '{}'
-	style languages. The Ada mode will set the needed search patters.
+	style languages. The Ada mode will set the needed search patterns.
 
 taglist.vim
 	http://www.vim.org/scripts/script.php?script_id=273
