Capitalize "Meson" consistently as it is a proper name. [skip ci]
diff --git a/docs/markdown/Builtin-options.md b/docs/markdown/Builtin-options.md
index 189204f..ef327e3 100644
--- a/docs/markdown/Builtin-options.md
+++ b/docs/markdown/Builtin-options.md
@@ -54,7 +54,7 @@
 
 `libdir` is automatically detected based on your platform, it should
 be correct when doing "native" (build machine == host machine)
-compilation. For cross compiles meson will try to guess the correct
+compilation. For cross compiles Meson will try to guess the correct
 libdir, but it may not be accurate, especially on Linux where
 different distributions have different defaults. Using a [cross
 file](Cross-compilation.md#defining-the-environment), particularly the
diff --git a/docs/markdown/CMake-module.md b/docs/markdown/CMake-module.md
index 7e981c6..b82227d 100644
--- a/docs/markdown/CMake-module.md
+++ b/docs/markdown/CMake-module.md
@@ -5,7 +5,7 @@
 
 This module provides helper tools for generating cmake package files.
 It also supports the usage of CMake based subprojects, similar to
-the normal [meson subprojects](Subprojects.md).
+the normal [Meson subprojects](Subprojects.md).
 
 
 ## Usage
@@ -22,7 +22,7 @@
 
 ## CMake subprojects
 
-Using CMake subprojects is similar to using the "normal" meson
+Using CMake subprojects is similar to using the "normal" Meson
 subprojects. They also have to be located in the `subprojects`
 directory.
 
@@ -44,9 +44,9 @@
 executable(exe1, ['sources'], dependencies: [cm_lib])
 ```
 
-The `subproject` method is almost identical to the normal meson
+The `subproject` method is almost identical to the normal Meson
 `subproject` function. The only difference is that a CMake project
-instead of a meson project is configured.
+instead of a Meson project is configured.
 
 The returned `sub_proj` supports the same options as a "normal"
 subproject. Meson automatically detects CMake build targets, which can
@@ -54,7 +54,7 @@
 
 It is usually enough to just use the dependency object returned by the
 `dependency()` method in the build targets. This is almost identical
-to using `declare_dependency()` object from a normal meson subproject.
+to using `declare_dependency()` object from a normal Meson subproject.
 
 It is also possible to use executables defined in the CMake project as code
 generators with the `target()` method:
@@ -125,7 +125,7 @@
 `options` key. Altering the configuration object won't have any effect
 on previous `cmake.subproject` calls.
 
-In earlier meson versions CMake command-line parameters could be set
+In earlier Meson versions CMake command-line parameters could be set
 with the `cmake_options` kwarg. However, this feature is deprecated
 since 0.55.0 and only kept for compatibility. It will not work
 together with the `options` kwarg.
@@ -139,7 +139,7 @@
    `include_type` kwarg *(new in 0.56.0)* controls the include type of the
    returned dependency object similar to the same kwarg in the
    [`dependency()`](Reference-manual.md#dependency) function.
- - `include_directories(target)` returns a meson `include_directories()`
+ - `include_directories(target)` returns a Meson `include_directories()`
    object for the specified target. Using this function is not necessary
    if the dependency object is used.
  - `target(target)` returns the raw build target.
@@ -149,7 +149,7 @@
    the subproject. Usually `dependency()` or `target()` should be
    preferred to extract build targets.
  - `found` returns true if the subproject is available, otherwise false
-   *new in meson 0.53.2*
+   *new in Meson 0.53.2*
 
 ### `cmake options` object
 
diff --git a/docs/markdown/Commands.md b/docs/markdown/Commands.md
index 96f1142..8989165 100644
--- a/docs/markdown/Commands.md
+++ b/docs/markdown/Commands.md
@@ -48,7 +48,7 @@
 
 {{ compile_usage.inc }}
 
-Builds a default or a specified target of a configured meson project.
+Builds a default or a specified target of a configured Meson project.
 
 {{ compile_arguments.inc }}
 
@@ -154,7 +154,7 @@
 
 {{ introspect_usage.inc }}
 
-Displays information about a configured meson project.
+Displays information about a configured Meson project.
 
 {{ introspect_arguments.inc }}
 
@@ -196,23 +196,23 @@
 
 {{ rewrite_usage.inc }}
 
-Modifies the meson project.
+Modifies the Meson project.
 
 {{ rewrite_arguments.inc }}
 
-See [the meson file rewriter documentation](Rewriter.md) for more info.
+See [the Meson file rewriter documentation](Rewriter.md) for more info.
 
 ### setup
 
 {{ setup_usage.inc }}
 
-Configures a build directory for the meson project.
+Configures a build directory for the Meson project.
 
-This is the default meson command (invoked if there was no COMMAND supplied).
+This is the default Meson command (invoked if there was no COMMAND supplied).
 
 {{ setup_arguments.inc }}
 
-See [meson introduction
+See [Meson introduction
 page](Running-Meson.md#configuring-the-build-directory) for more info.
 
 #### Examples:
@@ -228,7 +228,7 @@
 
 {{ subprojects_usage.inc }}
 
-Manages subprojects of the meson project.
+Manages subprojects of the Meson project.
 
 {{ subprojects_arguments.inc }}
 
@@ -236,7 +236,7 @@
 
 {{ test_usage.inc }}
 
-Run tests for the configure meson project.
+Run tests for the configure Meson project.
 
 {{ test_arguments.inc }}
 
diff --git a/docs/markdown/Compiler-properties.md b/docs/markdown/Compiler-properties.md
index d3382b3..e231e16 100644
--- a/docs/markdown/Compiler-properties.md
+++ b/docs/markdown/Compiler-properties.md
@@ -161,7 +161,7 @@
 argument is typically used for setting `#include` directives in
 configuration files.
 
-In older versions (<= 0.30) meson would error out if the size could
+In older versions (<= 0.30) Meson would error out if the size could
 not be determined. Since version 0.31 it returns -1 if the size could
 not be determined.
 
diff --git a/docs/markdown/Configuration.md b/docs/markdown/Configuration.md
index a2fc639..55f0170 100644
--- a/docs/markdown/Configuration.md
+++ b/docs/markdown/Configuration.md
@@ -115,7 +115,7 @@
 
 ## Dealing with file encodings
 
-The default meson file encoding to configure files is utf-8. If you
+The default Meson file encoding to configure files is utf-8. If you
 need to configure a file that is not utf-8 encoded the encoding
 keyword will allow you to specify which file encoding to use. It is
 however strongly advised to convert your non utf-8 file to utf-8
diff --git a/docs/markdown/Configuring-a-build-directory.md b/docs/markdown/Configuring-a-build-directory.md
index 0b6053c..c552676 100644
--- a/docs/markdown/Configuring-a-build-directory.md
+++ b/docs/markdown/Configuring-a-build-directory.md
@@ -116,5 +116,5 @@
 Since 0.50.0, it is also possible to get a list of all build options
 by invoking [`meson configure`](Commands.md#configure) with the
 project source directory or the path to the root `meson.build`. In
-this case, meson will print the default values of all options similar
+this case, Meson will print the default values of all options similar
 to the example output from above.
diff --git a/docs/markdown/Continuous-Integration.md b/docs/markdown/Continuous-Integration.md
index d2b64f2..46e7c29 100644
--- a/docs/markdown/Continuous-Integration.md
+++ b/docs/markdown/Continuous-Integration.md
@@ -164,7 +164,7 @@
 
 ### Boost
 
-The following statement is sufficient for meson to find Boost:
+The following statement is sufficient for Meson to find Boost:
 
 ```yaml
  - cmd: set BOOST_ROOT=C:\Libraries\boost_1_67_0
diff --git a/docs/markdown/Contributing.md b/docs/markdown/Contributing.md
index fe5bd0d..647d0fd 100644
--- a/docs/markdown/Contributing.md
+++ b/docs/markdown/Contributing.md
@@ -39,7 +39,7 @@
 - Must be registered with the [FeatureChecks
   framework](Release-notes-for-0.47.0.md#feature-detection-based-on-meson_version-in-project)
   that will warn the user if they try to use a new feature while
-  targeting an older meson version.
+  targeting an older Meson version.
 - Needs a release note snippet inside `docs/markdown/snippets/` with
   a heading and a brief paragraph explaining what the feature does
   with an example.
@@ -171,7 +171,7 @@
 * `crossfile.ini` and `nativefile.ini` are passed to the configure step with
 `--cross-file` and `--native-file` options, respectively.
 
-* `mlog.cmd_ci_include()` can be called from anywhere inside meson to
+* `mlog.cmd_ci_include()` can be called from anywhere inside Meson to
 capture the contents of an additional file into the CI log on failure.
 
 Projects needed by unit tests are in the `test cases/unit`
@@ -301,10 +301,10 @@
 #### matrix
 
 The `matrix` section can be used to define a test matrix to run
-project tests with different meson options.
+project tests with different Meson options.
 
 In the `options` dict, all possible options and their values are
-specified. Each key in the `options` dict is a meson option. It stores
+specified. Each key in the `options` dict is a Meson option. It stores
 a list of all potential values in a dict format, which allows to skip
 specific values based on the current environment.
 
diff --git a/docs/markdown/Creating-Linux-binaries.md b/docs/markdown/Creating-Linux-binaries.md
index f5aa6a4..71c96e4 100644
--- a/docs/markdown/Creating-Linux-binaries.md
+++ b/docs/markdown/Creating-Linux-binaries.md
@@ -84,7 +84,7 @@
 library statically. If you don't then your app is guaranteed to break
 as different distros have binary-incompatible C++ libraries. The
 second thing is that you need to point your install prefix to some
-empty staging area. Here's the meson command to do that:
+empty staging area. Here's the Meson command to do that:
 
 ```console
 $ LDFLAGS=-static-libstdc++ meson --prefix=/tmp/myapp <other args>
diff --git a/docs/markdown/Creating-releases.md b/docs/markdown/Creating-releases.md
index 1e039ea..b824459 100644
--- a/docs/markdown/Creating-releases.md
+++ b/docs/markdown/Creating-releases.md
@@ -17,7 +17,7 @@
 meson dist
 ```
 
-or alternatively (on older meson versions with `ninja` backend):
+or alternatively (on older Meson versions with `ninja` backend):
 
 ```sh
 ninja dist
diff --git a/docs/markdown/Cross-compilation.md b/docs/markdown/Cross-compilation.md
index b25504a..d4fb074 100644
--- a/docs/markdown/Cross-compilation.md
+++ b/docs/markdown/Cross-compilation.md
@@ -201,7 +201,7 @@
 There are two different values for the CPU. The first one is
 `cpu_family`. It is a general type of the CPU. This should have a
 value from [the CPU Family table](Reference-tables.md#cpu-families).
-*Note* that meson does not add `el` to end cpu_family value for little
+*Note* that Meson does not add `el` to end cpu_family value for little
 endian systems. Big endian and little endian mips are both just
 `mips`, with the `endian` field set approriately.
 
@@ -321,7 +321,7 @@
 
 ## Cross file locations
 
-As of version 0.44.0 meson supports loading cross files from system
+As of version 0.44.0 Meson supports loading cross files from system
 locations (except on Windows). This will be
 $XDG_DATA_DIRS/meson/cross, or if XDG_DATA_DIRS is undefined, then
 /usr/local/share/meson/cross and /usr/share/meson/cross will be tried
diff --git a/docs/markdown/Dependencies.md b/docs/markdown/Dependencies.md
index d357ec1..2ac775b 100644
--- a/docs/markdown/Dependencies.md
+++ b/docs/markdown/Dependencies.md
@@ -138,7 +138,7 @@
 
 # Dependency method
 
-You can use the keyword `method` to let meson know what method to use
+You can use the keyword `method` to let Meson know what method to use
 when searching for the dependency. The default value is `auto`.
 Additional dependencies methods are `pkg-config`, `config-tool`, `cmake`,
 `system`, `sysconfig`, `qmake`, `extraframework` and `dub`.
@@ -163,11 +163,11 @@
 
 It is possible to manually specify a list of CMake targets that should
 be used with the `modules` property. However, this step is optional
-since meson tries to automatically guess the correct target based on
+since Meson tries to automatically guess the correct target based on
 the name of the dependency.
 
 Depending on the dependency it may be necessary to explicitly specify
-a CMake target with the `modules` property if meson is unable to guess
+a CMake target with the `modules` property if Meson is unable to guess
 it automatically.
 
 ```meson
@@ -196,7 +196,7 @@
 
 ## Dub
 
-Please understand that meson is only able to find dependencies that
+Please understand that Meson is only able to find dependencies that
 exist in the local Dub repository. You need to manually fetch and
 build the target dependencies.
 
@@ -206,10 +206,10 @@
 dub build urld
 ```
 
-Other thing you need to keep in mind is that both meson and Dub need
+Other thing you need to keep in mind is that both Meson and Dub need
 to be using the same compiler. This can be achieved using Dub's
 `-compiler` argument and/or manually setting the `DC` environment
-variable when running meson.
+variable when running Meson.
 ```
 dub build urld --compiler=dmd
 DC="dmd" meson builddir
@@ -225,7 +225,7 @@
 
 In some cases, more than one detection method exists, and the `method`
 keyword may be used to select a detection method to use. The `auto`
-method uses any checking mechanisms in whatever order meson thinks is
+method uses any checking mechanisms in whatever order Meson thinks is
 best.
 
 e.g. libwmf and CUPS provide both pkg-config and config-tool support.
@@ -404,7 +404,7 @@
 ### Modules, a.k.a. Components
 
 Meson wraps LLVM's concept of components in it's own modules concept.
-When you need specific components you add them as modules as meson
+When you need specific components you add them as modules as Meson
 will do the right thing:
 
 ```meson
@@ -501,9 +501,9 @@
 
 ## Python3
 
-Python3 is handled specially by meson:
+Python3 is handled specially by Meson:
 1. Meson tries to use `pkg-config`.
-2. If `pkg-config` fails meson uses a fallback:
+2. If `pkg-config` fails Meson uses a fallback:
     - On Windows the fallback is the current `python3` interpreter.
     - On OSX the fallback is a framework dependency from `/Library/Frameworks`.
 
diff --git a/docs/markdown/Dlang-module.md b/docs/markdown/Dlang-module.md
index 7221698..915f3a7 100644
--- a/docs/markdown/Dlang-module.md
+++ b/docs/markdown/Dlang-module.md
@@ -35,7 +35,7 @@
 )
 ```
 
-You can manually edit a meson generated `dub.json` file or provide a
+You can manually edit a Meson generated `dub.json` file or provide a
 initial one. The module will only update the values specified in
 `generate_dub_file()`.
 
diff --git a/docs/markdown/External-Project-module.md b/docs/markdown/External-Project-module.md
index c13f81b..866564e 100644
--- a/docs/markdown/External-Project-module.md
+++ b/docs/markdown/External-Project-module.md
@@ -42,7 +42,7 @@
   yet supported.
 - When cross compiling, if `PKG_CONFIG_SYSROOT_DIR` is set in environment or
   `sys_root` in the cross file properties, the external subproject will not be
-  able to find dependencies built by meson using pkg-config. The reason is
+  able to find dependencies built by Meson using pkg-config. The reason is
   pkg-config and pkgconf both prepend the sysroot path to `-I` and `-L` arguments
   from `-uninstalled.pc` files. This is arguably a bug that could be fixed in
   future version of pkg-config/pkgconf.
diff --git a/docs/markdown/FAQ.md b/docs/markdown/FAQ.md
index bd2316f..a0a0544 100644
--- a/docs/markdown/FAQ.md
+++ b/docs/markdown/FAQ.md
@@ -290,7 +290,7 @@
 disable dependency fallbacks altogether with `--wrap-mode=nofallback`,
 which also implies the `nodownload` option.
 
-If on the other hand, you want meson to always use the fallback
+If on the other hand, you want Meson to always use the fallback
 for dependencies, even when an external dependency exists and could
 satisfy the version requirements, for example in order to make
 sure your project builds when fallbacks are used, you can use
diff --git a/docs/markdown/Generating-sources.md b/docs/markdown/Generating-sources.md
index 44e36b7..c09819f 100644
--- a/docs/markdown/Generating-sources.md
+++ b/docs/markdown/Generating-sources.md
@@ -76,14 +76,14 @@
 
 Each target that depends on a generated header should add that header
 to it's sources, as seen above with `libfoo` and `myexe`. This is
-because there is no way for meson or the backend to know that `myexe`
+because there is no way for Meson or the backend to know that `myexe`
 depends on `foo.h` just because `libfoo` does, it could be a private
 header.
 
 ### Generating multiple files at a time
 
 Sometimes it makes sense for a single generator to create two or more
-files at a time, (perhaps a header and source file), meson has this
+files at a time, (perhaps a header and source file), Meson has this
 case covered as well. `custom_target`s can be indexed like a list to
 get each output file separately. The order is the same as the order of
 the output argument to `custom_target`
diff --git a/docs/markdown/Getting-meson.md b/docs/markdown/Getting-meson.md
index fe145ad..35117ca 100644
--- a/docs/markdown/Getting-meson.md
+++ b/docs/markdown/Getting-meson.md
@@ -27,7 +27,7 @@
 with `sudo pip3 install meson` which requires root and will install it
 system-wide.
 
-If you have downloaded a copy of the meson sources already, you can
+If you have downloaded a copy of the Meson sources already, you can
 install it with `sudo pip3 install path/to/source/root/`.
 
 Alternatively, you can use `pip3 install --user meson` which will
@@ -35,7 +35,7 @@
 privileges. This will install the package in `~/.local/`, so you will
 have to add `~/.local/bin` to your `PATH`, and `sudo meson install`
 will be completely broken since the program will not be available to
-root. Only use a user copy of meson if you do not care about
+root. Only use a user copy of Meson if you do not care about
 installing projects as root.
 
 ## Installing Meson and Ninja with the MSI installer
diff --git a/docs/markdown/IDE-integration.md b/docs/markdown/IDE-integration.md
index 9b550ca..6f0b629 100644
--- a/docs/markdown/IDE-integration.md
+++ b/docs/markdown/IDE-integration.md
@@ -22,10 +22,10 @@
 
     meson builddir
 
-With this command meson will configure the project and also generate
+With this command Meson will configure the project and also generate
 introspection information that is stored in `intro-*.json` files in
 the `meson-info` directory. The introspection dump will be
-automatically updated when meson is (re)configured, or the build
+automatically updated when Meson is (re)configured, or the build
 options change. Thus, an IDE can watch for changes in this directory
 to know when something changed. Note that `meson-info.json` guaranteed
 to be the last file written.
@@ -35,8 +35,8 @@
 | File                           | Description                                                         |
 | ------------------------------ | ------------------------------------------------------------------- |
 | `intro-benchmarks.json`        | Lists all benchmarks                                                |
-| `intro-buildoptions.json`      | Contains a full list of meson configuration options for the project |
-| `intro-buildsystem_files.json` | Full list of all meson build files                                  |
+| `intro-buildoptions.json`      | Contains a full list of Meson configuration options for the project |
+| `intro-buildsystem_files.json` | Full list of all Meson build files                                  |
 | `intro-dependencies.json`      | Lists all dependencies used in the project                          |
 | `intro-installed.json`         | Contains mapping of files to their installed location               |
 | `intro-projectinfo.json`       | Stores basic information about the project (name, version, etc.)    |
@@ -140,7 +140,7 @@
 correct. There might be differences, due to internal limitations. It
 is also not guaranteed that all targets will be listed in the output.
 It might even be possible that targets are listed, which won't exist
-when meson is run normally. This can happen if a target is defined
+when Meson is run normally. This can happen if a target is defined
 inside an if statement. Use this feature with care.
 
 ## Build Options
@@ -199,7 +199,7 @@
 
 However, this behavior is not guaranteed if subprojects are present.
 Due to internal limitations all subprojects are processed even if they
-are never used in a real meson run. Because of this options for the
+are never used in a real Meson run. Because of this options for the
 subprojects can differ.
 
 ## The dependencies section
@@ -231,7 +231,7 @@
 The `required` keyword specifies whether the dependency is marked as
 required in the `meson.build` (all dependencies are required by
 default). The `conditional` key indicates whether the `dependency()`
-function was called inside a conditional block. In a real meson run
+function was called inside a conditional block. In a real Meson run
 these dependencies might not be used, thus they _may_ not be required,
 even if the `required` key is set. The `has_fallback` key just
 indicates whether a fallback was directly set in the `dependency()`
@@ -302,7 +302,7 @@
 
 # AST of a `meson.build`
 
-Since meson *0.55.0* it is possible to dump the AST of a `meson.build`
+Since Meson *0.55.0* it is possible to dump the AST of a `meson.build`
 as a JSON object. The interface for this is `meson introspect --ast
 /path/to/meson.build`.
 
diff --git a/docs/markdown/Installing.md b/docs/markdown/Installing.md
index 93f6d19..0e5cb12 100644
--- a/docs/markdown/Installing.md
+++ b/docs/markdown/Installing.md
@@ -11,7 +11,7 @@
 meson install
 ```
 
-or alternatively (on older meson versions with `ninja` backend):
+or alternatively (on older Meson versions with `ninja` backend):
 
 ```sh
 ninja install
diff --git a/docs/markdown/Keyval-module.md b/docs/markdown/Keyval-module.md
index 3735888..96d9c15 100644
--- a/docs/markdown/Keyval-module.md
+++ b/docs/markdown/Keyval-module.md
@@ -9,7 +9,7 @@
 # keyval module
 
 This module parses files consisting of a series of `key=value` lines.
-One use of this module is to load kconfig configurations in meson
+One use of this module is to load kconfig configurations in Meson
 projects.
 
 **Note**: this does not provide kconfig frontend tooling to generate a
diff --git a/docs/markdown/Localisation.md b/docs/markdown/Localisation.md
index 8a09feb..a826f8d 100644
--- a/docs/markdown/Localisation.md
+++ b/docs/markdown/Localisation.md
@@ -17,7 +17,7 @@
 In this `po` subdirectory we need:
 - `LINGUAS`: Space separated list of languages
 - `POTFILES`: List of source files to scan for translatable strings.
-- `meson.build`: Localization specific meson file
+- `meson.build`: Localization specific Meson file
 
 ### LINGUAS
 
@@ -39,7 +39,7 @@
 
 ### meson.build
 
-Localization specific meson file. It imports and uses the `i18n`
+Localization specific Meson file. It imports and uses the `i18n`
 module. If not defined before it needs to define the `GETTEXT_PACKAGE`
 global.
 
diff --git a/docs/markdown/Machine-files.md b/docs/markdown/Machine-files.md
index fd99937..39e02a6 100644
--- a/docs/markdown/Machine-files.md
+++ b/docs/markdown/Machine-files.md
@@ -131,7 +131,7 @@
 ### Binaries
 
 The binaries section contains a list of binaries. These can be used
-internally by meson, or by the `find_program` function.
+internally by Meson, or by the `find_program` function.
 
 These values must be either strings or an array of strings
 
@@ -140,7 +140,7 @@
 like gcc and clang which are used to invoke the linker this is a value
 to pass to their "choose the linker" argument (-fuse-ld= in this
 case). For compilers like MSVC and Clang-Cl, this is the path to a
-linker for meson to invoke, such as `link.exe` or `lld-link.exe`.
+linker for Meson to invoke, such as `link.exe` or `lld-link.exe`.
 Support for `ld` is *new in 0.53.0*
 
 *changed in 0.53.1* the `ld` variable was replaced by `<lang>_ld`,
@@ -221,13 +221,13 @@
 
 - `cmake_toolchain_file` specifies an absolute path to an already existing
   CMake toolchain file that will be loaded with `include()` as the last
-  instruction of the automatically generated CMake toolchain file from meson.
+  instruction of the automatically generated CMake toolchain file from Meson.
   (*new in 0.56.0*)
-- `cmake_defaults` is a boolean that specifies whether meson should automatically
+- `cmake_defaults` is a boolean that specifies whether Meson should automatically
   generate default toolchain variables from other sections (`binaries`,
   `host_machine`, etc.) in the machine file. Defaults are always overwritten
   by variables set in the `[cmake]` section. The default is `true`. (*new in 0.56.0*)
-- `cmake_skip_compiler_test` is an enum that specifies when meson should
+- `cmake_skip_compiler_test` is an enum that specifies when Meson should
   automatically generate toolchain variables to skip the CMake compiler
   sanity checks. This only has an effect if `cmake_defaults` is `true`.
   Supported values are `always`, `never`, `dep_only`. The default is `dep_only`.
@@ -303,7 +303,7 @@
 c_std = 'c99'
 ```
 
-You can set some meson built-in options on a per-subproject basis,
+You can set some Meson built-in options on a per-subproject basis,
 such as `default_library` and `werror`. The order of precedence is:
 
 1) Command line
@@ -318,7 +318,7 @@
 
 Options set on a per-subproject basis will inherit the option from the
 parent if the parent has a setting but the subproject doesn't, even
-when there is a default set meson language.
+when there is a default set Meson language.
 
 ```ini
 [built-in options]
@@ -338,7 +338,7 @@
 
 ## Loading multiple machine files
 
-Native files allow layering (cross files can be layered since meson
+Native files allow layering (cross files can be layered since Meson
 0.52.0). More than one file can be loaded, with values from a previous
 file being overridden by the next. The intention of this is not
 overriding, but to allow composing files. This composition is done by
diff --git a/docs/markdown/MesonCI.md b/docs/markdown/MesonCI.md
index b365656..65175af 100644
--- a/docs/markdown/MesonCI.md
+++ b/docs/markdown/MesonCI.md
@@ -40,4 +40,4 @@
 ### Common image setup
 
 Each docker image has a `/ci` directory with an `env_vars.sh` script.
-This script has to be sourced before running the meson test suite.
+This script has to be sourced before running the Meson test suite.
diff --git a/docs/markdown/Pkgconfig-module.md b/docs/markdown/Pkgconfig-module.md
index 1f9ecb0..35396d6 100644
--- a/docs/markdown/Pkgconfig-module.md
+++ b/docs/markdown/Pkgconfig-module.md
@@ -71,11 +71,11 @@
 
 Since 0.54.0 uninstalled pkg-config files are generated as well. They
 are located in `<build dir>/meson-uninstalled/`. It is sometimes
-useful to build projects against libraries built by meson without
+useful to build projects against libraries built by Meson without
 having to install them into a prefix. In order to do so, just set
 `PKG_CONFIG_PATH=<builddir>/meson-uninstalled` before building your
 application. That will cause pkg-config to prefer those
-`-uninstalled.pc` files and find libraries and headers from the meson
+`-uninstalled.pc` files and find libraries and headers from the Meson
 builddir. This is an experimental feature provided on a best-effort
 basis, it might not work in all use-cases.
 
diff --git a/docs/markdown/Porting-from-autotools.md b/docs/markdown/Porting-from-autotools.md
index 05af79a..34e1bbd 100644
--- a/docs/markdown/Porting-from-autotools.md
+++ b/docs/markdown/Porting-from-autotools.md
@@ -158,7 +158,7 @@
 
 ## Makefile.am
 
-Next step is `Makefile.am`. In meson you don't need to have other
+Next step is `Makefile.am`. In Meson you don't need to have other
 file, you still use `meson.build`.
 
 ### Sub directories
@@ -204,7 +204,7 @@
         config.h
 ```
 
-In Meson you don't need have `*CLEANFILES`, because in meson you are
+In Meson you don't need have `*CLEANFILES`, because in Meson you are
 building in temporary directory (usually called `build`), you manually
 removing it. You also not need to use `EXTRA_DIST`, because you will
 make tarballs via `git archive` or something like this.
diff --git a/docs/markdown/Precompiled-headers.md b/docs/markdown/Precompiled-headers.md
index 8b7f58e..e78dfe0 100644
--- a/docs/markdown/Precompiled-headers.md
+++ b/docs/markdown/Precompiled-headers.md
@@ -62,7 +62,7 @@
 #include <string.h>
 ```
 
-And add this to meson:
+And add this to Meson:
 
 ```meson
 executable('myexe', sources : sourcelist, c_pch : 'pch/myexe_pch.h')
diff --git a/docs/markdown/Python-module.md b/docs/markdown/Python-module.md
index 4aff4c9..3b7b4f5 100644
--- a/docs/markdown/Python-module.md
+++ b/docs/markdown/Python-module.md
@@ -25,11 +25,11 @@
 Find a python installation matching `name_or_path`.
 
 That argument is optional, if not provided then the returned python
-installation will be the one used to run meson.
+installation will be the one used to run Meson.
 
 If provided, it can be:
 
-- A simple name, eg `python-2.7`, meson will look for an external program
+- A simple name, eg `python-2.7`, Meson will look for an external program
   named that way, using [find_program]
 
 - A path, eg `/usr/local/bin/python3.4m`
@@ -87,7 +87,7 @@
 [shared_module], excluding `name_suffix` and `name_prefix`, and with
 the addition of the following:
 
-- `subdir`: By default, meson will install the extension module in
+- `subdir`: By default, Meson will install the extension module in
   the relevant top-level location for the python installation, eg
   `/usr/lib/site-packages`. When subdir is passed to this method,
   it will be appended to that location. This keyword argument is
@@ -109,7 +109,7 @@
 arguments as the standard [dependency] function. It also supports the
 following keyword argument:
 
-- `embed`: *(since 0.53.0)* If true, meson will try to find a python
+- `embed`: *(since 0.53.0)* If true, Meson will try to find a python
   dependency that can be used for embedding python into an
   application.
 
diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md
index fa6321a..f7b35ff 100644
--- a/docs/markdown/Reference-manual.md
+++ b/docs/markdown/Reference-manual.md
@@ -83,7 +83,7 @@
 machine, but are never required for the build machine.  (i.e. it is equivalent
 to `add_languages(*langs*, native: false, required: *required*) and
 add_languages(*langs*, native: true, required: false)`. This default behaviour
-may change to `native: false` in a future meson version.
+may change to `native: false` in a future Meson version.
 
 ### add_project_arguments()
 
@@ -647,9 +647,9 @@
   when this file changes.
 - `link_language` *(since 0.51.0)* *(broken until 0.55.0)*: makes the linker for this
   target be for the specified language. It is generally unnecessary to set
-  this, as meson will detect the right linker to use in most cases. There are
+  this, as Meson will detect the right linker to use in most cases. There are
   only two cases where this is needed. One, your main function in an
-  executable is not in the language meson picked, or second you want to force
+  executable is not in the language Meson picked, or second you want to force
   a library to use only one ABI.
 - `link_whole` *(since 0.40.0)*: links all contents of the given static libraries
   whether they are used by not, equivalent to the `-Wl,--whole-archive` argument flag of GCC.
@@ -1629,14 +1629,14 @@
     subdir_done()
 ```
 
-Stops further interpretation of the meson script file from the point
+Stops further interpretation of the Meson script file from the point
 of the invocation. All steps executed up to this point are valid and
-will be executed by meson. This means that all targets defined before
+will be executed by Meson. This means that all targets defined before
 the call of `subdir_done` will be build.
 
 If the current script was called by `subdir` the execution returns to
 the calling directory and continues as if the script had reached the
-end. If the current script is the top level script meson configures
+end. If the current script is the top level script Meson configures
 the project as defined up to this point.
 
 Example:
diff --git a/docs/markdown/Reference-tables.md b/docs/markdown/Reference-tables.md
index 9f6b704..806ba76 100644
--- a/docs/markdown/Reference-tables.md
+++ b/docs/markdown/Reference-tables.md
@@ -114,9 +114,9 @@
 Any cpu family not listed in the above list is not guaranteed to
 remain stable in future releases.
 
-Those porting from autotools should note that meson does not add
+Those porting from autotools should note that Meson does not add
 endianness to the name of the cpu_family. For example, autotools
-will call little endian PPC64 "ppc64le", meson will not, you must
+will call little endian PPC64 "ppc64le", Meson will not, you must
 also check the `.endian()` value of the machine for this information.
 
 ## Operating system names
@@ -300,7 +300,7 @@
 | C#            | CSC      | CSC       | The linker is the compiler                  |
 
 *The old environment variales are still supported, but are deprecated
-and will be removed in a future version of meson.*
+and will be removed in a future version of Meson.*
 
 ## Environment variables per machine
 
@@ -317,7 +317,7 @@
  - `PKG_CONFIG_PATH` controls the paths pkg-config will search for just
    `native: false` dependencies (host machine).
 
-This mirrors the `build.` prefix used for (built-in) meson options,
+This mirrors the `build.` prefix used for (built-in) Meson options,
 which has the same meaning.
 
 This is useful for cross builds. In the native builds, build = host,
diff --git a/docs/markdown/Release-notes-for-0.40.0.md b/docs/markdown/Release-notes-for-0.40.0.md
index 9ba4839..53bc9ba 100644
--- a/docs/markdown/Release-notes-for-0.40.0.md
+++ b/docs/markdown/Release-notes-for-0.40.0.md
@@ -29,7 +29,7 @@
 ## Automatic initialization of subprojects that are git submodules
 
 If you have a directory inside your subprojects directory (usually
-`subprojects/`) that is a git submodule, meson will automatically
+`subprojects/`) that is a git submodule, Meson will automatically
 initialize it if your build files refer to it. This will be done
 without needing a wrap file since git contains all the information
 needed.
@@ -144,9 +144,9 @@
 Meson now sets the `MESONINTROSPECT` environment variable in addition
 to `MESON_SOURCE_ROOT` and other variables when running scripts. It is
 guaranteed to point to the correct `mesonintrospect` script, which is
-important when running meson uninstalled from git or when your `PATH`s
+important when running Meson uninstalled from git or when your `PATH`s
 may not be set up correctly.
 
-Specifically, the following meson functions will set it:
+Specifically, the following Meson functions will set it:
 `meson.add_install_script()`, `meson.add_postconf_script()`,
 `run_command()`, `run_target()`.
diff --git a/docs/markdown/Release-notes-for-0.44.0.md b/docs/markdown/Release-notes-for-0.44.0.md
index 4948893..8e5c098 100644
--- a/docs/markdown/Release-notes-for-0.44.0.md
+++ b/docs/markdown/Release-notes-for-0.44.0.md
@@ -39,7 +39,7 @@
 
 Previously to have an option that took more than one value a string
 value would have to be created and split, but validating this was
-difficult. A new array type has been added to the meson_options.txt
+difficult. A new array type has been added to the `meson_options.txt`
 for this case. It works like a 'combo', but allows more than one
 option to be passed. The values can optionally be validated against a
 list of valid values. When used on the command line (with -D), values
diff --git a/docs/markdown/Release-notes-for-0.46.0.md b/docs/markdown/Release-notes-for-0.46.0.md
index fd63fd0..64e237d 100644
--- a/docs/markdown/Release-notes-for-0.46.0.md
+++ b/docs/markdown/Release-notes-for-0.46.0.md
@@ -73,7 +73,7 @@
 
 ## Meson and meson configure now accept the same arguments
 
-Previously meson required that builtin arguments (like prefix) be
+Previously Meson required that builtin arguments (like prefix) be
 passed as `--prefix` to `meson` and `-Dprefix` to `meson configure`.
 `meson` now accepts -D form like `meson configure` has. `meson
 configure` also accepts the `--prefix` form, like `meson` has.
@@ -205,11 +205,11 @@
 * some backend messages are produced in ru_RU.KOI8-R even if LANG=C;
 * its preprocessor treats some characters differently.
 
-So every noted difference is properly handled now in meson.
+So every noted difference is properly handled now in Meson.
 
 ## String escape character sequence update
 
-Single-quoted strings in meson have been taught the same set of escape
+Single-quoted strings in Meson have been taught the same set of escape
 sequences as in Python. It is therefore now possible to use arbitrary
 bytes in strings, like for example `NUL` (`\0`) and other ASCII
 control characters. See the chapter about [*Strings* in
diff --git a/docs/markdown/Release-notes-for-0.47.0.md b/docs/markdown/Release-notes-for-0.47.0.md
index df230dd..175126e 100644
--- a/docs/markdown/Release-notes-for-0.47.0.md
+++ b/docs/markdown/Release-notes-for-0.47.0.md
@@ -166,7 +166,7 @@
 ## Feature detection based on `meson_version:` in `project()`
 
 Meson will now print a `WARNING:` message during configuration if you
-use a function or a keyword argument that was added in a meson version
+use a function or a keyword argument that was added in a Meson version
 that's newer than the version specified inside `project()`. For
 example:
 
@@ -257,7 +257,7 @@
 executable mode, but the exact permissions will obey the
 `install_umask`.
 
-The `install_umask` can be overridden in the meson command-line:
+The `install_umask` can be overridden in the Meson command-line:
 
 ```console
 $ meson --install-umask=027 builddir/
diff --git a/docs/markdown/Release-notes-for-0.50.0.md b/docs/markdown/Release-notes-for-0.50.0.md
index 480a612..0f7dbb8 100644
--- a/docs/markdown/Release-notes-for-0.50.0.md
+++ b/docs/markdown/Release-notes-for-0.50.0.md
@@ -81,7 +81,7 @@
 
 However, this behavior is not guaranteed if subprojects are
 present. Due to internal limitations all subprojects are processed
-even if they are never used in a real meson run.  Because of this
+even if they are never used in a real Meson run.  Because of this
 options for the subprojects can differ.
 
 ## `include_directories` accepts a string
@@ -219,7 +219,7 @@
 
 ## Changed the JSON format of the introspection
 
-All paths used in the meson introspection JSON format are now
+All paths used in the Meson introspection JSON format are now
 absolute. This affects the `filename` key in the targets introspection
 and the output of `--buildsystem-files`.
 
@@ -270,7 +270,7 @@
 The `required` keyword specifies whether the dependency is marked as
 required in the `meson.build` (all dependencies are required by
 default). The `conditional` key indicates whether the `dependency()`
-function was called inside a conditional block. In a real meson run
+function was called inside a conditional block. In a real Meson run
 these dependencies might not be used, thus they _may_ not be required,
 even if the `required` key is set. The `has_fallback` key just
 indicates whether a fallback was directly set in the `dependency()`
@@ -295,7 +295,7 @@
 correct. There might be differences, due to internal limitations. It
 is also not guaranteed that all targets will be listed in the output.
 It might even be possible that targets are listed, which won't exist
-when meson is run normally. This can happen if a target is defined
+when Meson is run normally. This can happen if a target is defined
 inside an if statement. Use this feature with care.
 
 ## Added option to introspect multiple parameters at once
@@ -320,7 +320,7 @@
 Additionlly the format of `meson introspect target` was changed:
 
   - New: the `sources` key. It stores the source files of a target and their compiler parameters.
-  - New: the `defined_in` key. It stores the meson file where a target is defined
+  - New: the `defined_in` key. It stores the Meson file where a target is defined
   - New: the `subproject` key. It stores the name of the subproject where a target is defined.
   - Added new target types (`jar`, `shared module`).
 
@@ -328,7 +328,7 @@
 
 With this release, it is also possible to get a list of all build
 options by invoking `meson configure` with the project source
-directory or the path to the root `meson.build`. In this case, meson
+directory or the path to the root `meson.build`. In this case, Meson
 will print the default values of all options.
 
 ## HDF5
@@ -338,7 +338,7 @@
 ## Added the `meson-info.json` introspection file
 
 Meson now generates a `meson-info.json` file in the `meson-info`
-directory to provide introspection information about the latest meson
+directory to provide introspection information about the latest Meson
 run. This file is updated when the build configuration is changed and
 the build files are (re)generated.
 
diff --git a/docs/markdown/Release-notes-for-0.51.0.md b/docs/markdown/Release-notes-for-0.51.0.md
index 3b57ca0..cd94f6a 100644
--- a/docs/markdown/Release-notes-for-0.51.0.md
+++ b/docs/markdown/Release-notes-for-0.51.0.md
@@ -24,7 +24,7 @@
 Sanity checks previously only used user-specified flags for cross
 compilers, but now do in all cases.
 
-All compilers meson might decide to use for the build are "sanity
+All compilers Meson might decide to use for the build are "sanity
 checked" before other tests are run. This usually involves building
 simple executable and trying to run it. Previously user flags
 (compilation and/or linking flags) were used for sanity checking cross
@@ -98,7 +98,7 @@
 ## Added basic support for the Xtensa CPU toolchain
 
 You can now use `xt-xcc`, `xt-xc++`, `xt-nm`, etc... on your cross
-compilation file and meson won't complain about an unknown toolchain.
+compilation file and Meson won't complain about an unknown toolchain.
 
 
 ## Dependency objects now have a get_variable method
@@ -136,7 +136,7 @@
 /tmp/dep/bin
 ```
 
-then invoke meson as `meson builddir/ -Dcmake_prefix_path=/tmp/dep`
+then invoke Meson as `meson builddir/ -Dcmake_prefix_path=/tmp/dep`
 
 ## Tests that should fail but did not are now errors
 
@@ -306,7 +306,7 @@
 Meson can now directly consume CMake based subprojects with the
 CMake module.
 
-Using CMake subprojects is similar to using the "normal" meson
+Using CMake subprojects is similar to using the "normal" Meson
 subprojects. They also have to be located in the `subprojects`
 directory.
 
diff --git a/docs/markdown/Release-notes-for-0.52.0.md b/docs/markdown/Release-notes-for-0.52.0.md
index 79f1cef..05e2dc2 100644
--- a/docs/markdown/Release-notes-for-0.52.0.md
+++ b/docs/markdown/Release-notes-for-0.52.0.md
@@ -42,7 +42,7 @@
 now set PKG_CONFIG_SYSROOT_DIR automatically for host system
 dependencies when cross compiling.
 
-## The meson test program now accepts an additional "--gdb-path" argument to specify the GDB binary
+## The Meson test program now accepts an additional "--gdb-path" argument to specify the GDB binary
 
 `meson test --gdb testname` invokes GDB with the specific test case. However, sometimes GDB is not in the path or a GDB replacement is wanted.
 Therefore, a `--gdb-path` argument was added to specify which binary is executed (per default `gdb`):
diff --git a/docs/markdown/Release-notes-for-0.53.0.md b/docs/markdown/Release-notes-for-0.53.0.md
index ec2924f..73a71db 100644
--- a/docs/markdown/Release-notes-for-0.53.0.md
+++ b/docs/markdown/Release-notes-for-0.53.0.md
@@ -71,16 +71,16 @@
 
 ## Generic Overrider for Dynamic Linker selection
 
-Previous to meson 0.52.0 you set the dynamic linker using compiler
+Previous to Meson 0.52.0 you set the dynamic linker using compiler
 specific flags passed via language flags and hoped things worked out.
-In meson 0.52.0 meson started detecting the linker and making
+In version 0.52.0 Meson started detecting the linker and making
 intelligent decisions about using it. Unfortunately this broke
 choosing a non-default linker.
 
 Now there is a generic mechanism for doing this. In 0.53.0, you can
 use the `LD` environment variable. **In 0.53.1** this was changed to
 `<compiler_variable>_LD`, such as `CC_LD`, `CXX_LD`, `D_LD`, etc due
-to regressions. The usual meson [environment variable
+to regressions. The usual Meson [environment variable
 rules](https://mesonbuild.com/Running-Meson.html#environment-variables)
 apply. Alternatively, you can add the following to a cross or native
 file:
@@ -106,7 +106,7 @@
 c_ld = 'lld'
 ```
 
-And meson will select the linker if possible.
+And Meson will select the linker if possible.
 
 ## `fortran_std` option
 
diff --git a/docs/markdown/Release-notes-for-0.54.0.md b/docs/markdown/Release-notes-for-0.54.0.md
index 103d103..7e9fbf2 100644
--- a/docs/markdown/Release-notes-for-0.54.0.md
+++ b/docs/markdown/Release-notes-for-0.54.0.md
@@ -8,7 +8,7 @@
 ## Emscripten (emcc) now supports threads
 
 In addition to properly setting the compile and linker arguments, a
-new meson builtin has been added to control the PTHREAD_POOL_SIZE
+new Meson builtin has been added to control the PTHREAD_POOL_SIZE
 option, `-D<lang>_thread_count`, which may be set to any integer value
 greater than 0. If it set to 0 then the PTHREAD_POOL_SIZE option will
 not be passed.
@@ -146,7 +146,7 @@
 keyword is absent the languages may be used for either the build or
 host machine, but are never required for the build machine.
 
-This changes the behaviour of the following meson fragment (when
+This changes the behaviour of the following Meson fragment (when
 cross-compiling but a native compiler is not available) from reporting
 an error at `add_language` to reporting an error at `executable`.
 
@@ -182,7 +182,7 @@
 
 ## New option `--quiet` to `meson install`
 
-Now you can run `meson install --quiet` and meson will not verbosely
+Now you can run `meson install --quiet` and Meson will not verbosely
 print every file as it is being installed. As before, the full log is
 always available inside the builddir in `meson-logs/install-log.txt`.
 
@@ -196,7 +196,7 @@
 ## Property support emscripten's wasm-ld
 
 Before 0.54.0 we treated emscripten as both compiler and linker, which
-isn't really true. It does have a linker, called wasm-ld (meson's name
+isn't really true. It does have a linker, called wasm-ld (Meson's name
 is ld.wasm). This is a special version of clang's lld. This will now
 be detected properly.
 
@@ -285,7 +285,7 @@
 This old behavior is inconsistent with the way Autotools works, which
 undermines the purpose of distro-integration that is the only reason
 environment variables are supported at all in Meson. The new behavior
-is not quite the same, but doesn't conflict: meson doesn't always
+is not quite the same, but doesn't conflict: Meson doesn't always
 repond to an environment when Autoconf would, but when it does it
 interprets it as Autotools would.
 
@@ -316,7 +316,7 @@
 
 ## Added `-C` argument to `meson init` command
 
-The meson init assumes that it is run inside the project root
+The Meson init assumes that it is run inside the project root
 directory. If this isn't the case, you can now use `-C` to specify the
 actual project source directory.
 
@@ -352,7 +352,7 @@
 The `pkgconfig` module now generates uninstalled pc files as well. For
 any generated `foo.pc` file, an extra `foo-uninstalled.pc` file is
 placed into `<builddir>/meson-uninstalled`. They can be used to build
-applications against libraries built by meson without installing them,
+applications against libraries built by Meson without installing them,
 by pointing `PKG_CONFIG_PATH` to that directory. This is an
 experimental feature provided on a best-effort basis, it might not
 work in all use-cases.
diff --git a/docs/markdown/Release-notes-for-0.55.0.md b/docs/markdown/Release-notes-for-0.55.0.md
index 3e4fcc9..110dd1d 100644
--- a/docs/markdown/Release-notes-for-0.55.0.md
+++ b/docs/markdown/Release-notes-for-0.55.0.md
@@ -7,7 +7,7 @@
 
 ## rpath removal now more careful
 
-On Linux-like systems, meson adds rpath entries to allow running apps
+On Linux-like systems, Meson adds rpath entries to allow running apps
 in the build tree, and then removes those build-time-only rpath
 entries when installing. Rpath entries may also come in via LDFLAGS
 and via .pc files. Meson used to remove those latter rpath entries by
@@ -37,8 +37,8 @@
 ## Test protocol for gtest
 
 Due to the popularity of Gtest (google test) among C and C++
-developers meson now supports a special protocol for gtest. With this
-protocol meson injects arguments to gtests to output JUnit, reads that
+developers Meson now supports a special protocol for gtest. With this
+protocol Meson injects arguments to gtests to output JUnit, reads that
 JUnit, and adds the output to the JUnit it generates.
 
 ## meson.add_*_script methods accept new types
@@ -87,7 +87,7 @@
 c = toolchain + '/gcc'
 ```
 
-## Configure CMake subprojects with meson.subproject_options
+## Configure CMake subprojects with Meson.subproject_options
 
 Meson now supports passing configuration options to CMake and
 overriding certain build details extracted from the CMake subproject.
@@ -117,10 +117,10 @@
 meson.override_find_program('foo', exe)
 
 # In main project:
-# The version check was crashing meson.
+# The version check was crashing Meson.
 prog = find_program('foo', version : '>=1.0')
 
-# This was crashing meson.
+# This was crashing Meson.
 message(prog.path())
 
 # New method to be consistent with built objects.
@@ -156,8 +156,8 @@
 ## Meson test now produces JUnit xml from results
 
 Meson will now generate a JUnit compatible XML file from test results.
-it will be in the meson-logs directory and is called
-testlog.junit.xml.
+it will be in the `meson-logs` directory and is called
+`testlog.junit.xml`.
 
 ## Config tool based dependencies no longer search PATH for cross compiling
 
@@ -176,7 +176,7 @@
 ## String concatenation in meson_options.txt
 
 It is now possible to use string concatenation (with the `+`
-opperator) in the meson_options.txt file. This allows splitting long
+opperator) in the `meson_options.txt` file. This allows splitting long
 option descriptions.
 
 ```meson
diff --git a/docs/markdown/Release-notes-for-0.56.0.md b/docs/markdown/Release-notes-for-0.56.0.md
index 05f30bd..c196fde 100644
--- a/docs/markdown/Release-notes-for-0.56.0.md
+++ b/docs/markdown/Release-notes-for-0.56.0.md
@@ -69,7 +69,7 @@
 ## Wraps from subprojects are automatically promoted
 
 It is not required to promote wrap files for subprojects into the main
-project any more. When configuring a subproject, meson will look for
+project any more. When configuring a subproject, Meson will look for
 any wrap file or directory in the subproject's `subprojects/`
 directory and add them into the global list of available subprojects,
 to be used by any future `subproject()` call or `dependency()`
@@ -173,7 +173,7 @@
 foo = 'some val'
 ```
 
-Additionally meson level options can be set in the same way, using the
+Additionally Meson level options can be set in the same way, using the
 `[built-in options]` section.
 
 ```ini
@@ -333,7 +333,7 @@
 - In the case the URL of `origin` is different as the `url` set in wrap file,
   the subproject will not be updated unless `--reset` is specified (see below).
 - In the case a subproject directory exists and is not a git repository but has
-  a `[wrap-git]`, meson used to run git commands that would wrongly apply to the
+  a `[wrap-git]`, Meson used to run git commands that would wrongly apply to the
   main project. It now skip the subproject unless `--reset` is specified (see below).
 - The `--rebase` behaviour is now the default for consistency: it was
   already rebasing when current branch and revision are the same, it is
diff --git a/docs/markdown/Rewriter.md b/docs/markdown/Rewriter.md
index cd52a11..018434f 100644
--- a/docs/markdown/Rewriter.md
+++ b/docs/markdown/Rewriter.md
@@ -4,7 +4,7 @@
 
 # Meson file rewriter
 
-Since version 0.50.0, meson has the functionality to perform some
+Since version 0.50.0, Meson has the functionality to perform some
 basic modification on the `meson.build` files from the command line.
 The currently supported operations are:
 
@@ -32,7 +32,7 @@
 
 ## Using the rewriter
 
-All rewriter functions are accessed via `meson rewrite`. The meson
+All rewriter functions are accessed via `meson rewrite`. The Meson
 rewriter assumes that it is run inside the project root directory. If
 this isn't the case, use `--sourcedir` to specify the actual project
 source directory.
@@ -70,8 +70,8 @@
 
 In this case, `exe1` could also have been used for the target name.
 This is possible because the rewriter also searches for assignments
-and unique meson IDs, which can be acquired with introspection. If
-there are multiple targets with the same name, meson will do nothing
+and unique Meson IDs, which can be acquired with introspection. If
+there are multiple targets with the same name, Meson will do nothing
 and print an error message.
 
 For more information see the help output of the rewriter target
@@ -115,7 +115,7 @@
 
 ## Limitations
 
-Rewriting a meson file is not guaranteed to keep the indentation of
+Rewriting a Meson file is not guaranteed to keep the indentation of
 the modified functions. Additionally, comments inside a modified
 statement will be removed. Furthermore, all source files will be
 sorted alphabetically.
@@ -240,7 +240,7 @@
 ## Extracting information
 
 The rewriter also offers operation `info` for the types `target` and
-`kwargs`. When this operation is used, meson will print a JSON dump to
+`kwargs`. When this operation is used, Meson will print a JSON dump to
 stderr, containing all available information to the rewriter about the
 build target / function kwargs in question.
 
diff --git a/docs/markdown/Running-Meson.md b/docs/markdown/Running-Meson.md
index 84dc6a3..1f2a47c 100644
--- a/docs/markdown/Running-Meson.md
+++ b/docs/markdown/Running-Meson.md
@@ -15,7 +15,7 @@
 If you wish to use the MSVC compiler, you need to run Meson under
 "Visual Studio command prompt".
 
-All available meson commands are listed on the [commands reference
+All available Meson commands are listed on the [commands reference
 page](Commands.md).
 
 ## Configuring the build directory
@@ -33,7 +33,7 @@
 directory. Meson uses [out of source
 builds](http://voices.canonical.com/jussi.pakkanen/2013/04/16/why-you-should-consider-using-separate-build-directories/).
 
-Hint: The syntax of meson is `meson [command] [arguments] [options]`.
+Hint: The syntax of Meson is `meson [command] [arguments] [options]`.
 The `setup` command takes a `builddir` and a `srcdir` argument. If no
 `srcdir` is given Meson will deduce the `srcdir` based on `pwd` and
 the location of `meson.build`.
@@ -43,7 +43,7 @@
 generates a *debug build*, which turns on basic warnings and debug
 information and disables compiler optimizations.
 
-Additionally, the invocation can pass options to meson. The list of
+Additionally, the invocation can pass options to Meson. The list of
 options is documented [here](Builtin-options.md).
 
 You can specify a different type of build with the `--buildtype` command line
@@ -100,7 +100,7 @@
 ## Environment variables
 
 Sometimes you want to add extra compiler flags, this can be done by
-passing them in environment variables when calling meson. See [the
+passing them in environment variables when calling Meson. See [the
 reference
 tables](Reference-tables.md#compiler-and-linker-flag-environment-variables)
 for a list of all the environment variables. Be aware however these
@@ -108,7 +108,7 @@
 not affect the compiler used for cross-compiling, where the flags
 specified in the cross file will be used.
 
-Furthermore it is possible to stop meson from adding flags itself by
+Furthermore it is possible to stop Meson from adding flags itself by
 using the `--buildtype=plain` option, in this case you must provide
 the full compiler and linker arguments needed.
 
diff --git a/docs/markdown/Rust-module.md b/docs/markdown/Rust-module.md
index dbe24ff..9f217ea 100644
--- a/docs/markdown/Rust-module.md
+++ b/docs/markdown/Rust-module.md
@@ -12,10 +12,10 @@
 
 **Note** Unstable modules make no backwards compatible API guarantees.
 
-The rust module provides helper to integrate rust code into meson. The
-goal is to make using rust in meson more pleasant, while still
-remaining mesonic, this means that it attempts to make rust work more
-like meson, rather than meson work more like rust.
+The rust module provides helper to integrate rust code into Meson. The
+goal is to make using rust in Meson more pleasant, while still
+remaining mesonic, this means that it attempts to make Rust work more
+like Meson, rather than Meson work more like rust.
 
 ## Functions
 
diff --git a/docs/markdown/SourceSet-module.md b/docs/markdown/SourceSet-module.md
index af31570..26c1995 100644
--- a/docs/markdown/SourceSet-module.md
+++ b/docs/markdown/SourceSet-module.md
@@ -13,13 +13,13 @@
 target depends on the contents of a dictionary or a
 `configuration_data` object. The module can be loaded with:
 
-``` meson
+```meson
 ssmod = import('sourceset')
 ```
 
 A simple example of using the module looks like this:
 
-``` meson
+```meson
 ss = ssmod.source_set()
 # Include main.c unconditionally
 ss.add(files('main.c'))
@@ -36,7 +36,7 @@
 
 and it would be equivalent to
 
-``` meson
+```meson
 sources = files('main.c')
 dependencies = []
 if config['FEATURE1'] then
@@ -61,7 +61,7 @@
 
 ### `source_set()`
 
-``` meson
+```meson
 ssmod.source_set()
 ```
 
@@ -79,7 +79,7 @@
 
 #### `add()`
 
-``` meson
+```meson
 source_set.add([when: varnames_and_deps],
                [if_true: sources_and_deps],
                [if_false: list_of_alt_sources])
@@ -114,7 +114,7 @@
 
 #### `add_all()`
 
-``` meson
+```meson
 source_set.add_all(when: varnames_and_deps,
                    if_true: [source_set1, source_set2, ...])
 source_set.add_all(source_set1, source_set2, ...)
@@ -126,7 +126,7 @@
 their rules only if the conditions in `varnames_and_deps` are
 evaluated positively. For example, the following:
 
-``` meson
+```meson
 sources_b = ssmod.source_set()
 sources_b.add(when: 'HAVE_A', if_true: 'file.c')
 sources = ssmod.source_set()
@@ -135,14 +135,14 @@
 
 is equivalent to:
 
-``` meson
+```meson
 sources = ssmod.source_set()
 sources.add(when: ['HAVE_A', 'HAVE_B'], if_true: 'file.c')
 ```
 
 #### `all_sources()`
 
-``` meson
+```meson
 list source_set.all_sources(...)
 ```
 
@@ -155,7 +155,7 @@
 
 #### `all_dependencies()` *(since 0.52.0)*
 
-``` meson
+```meson
 list source_set.all_dependencies(...)
 ```
 
@@ -166,7 +166,7 @@
 
 #### `apply()`
 
-``` meson
+```meson
 source_files source_set.apply(conf_data[, strict: false])
 ```
 
@@ -193,7 +193,7 @@
 
 #### `sources()`
 
-``` meson
+```meson
 source_config.sources()
 ```
 
@@ -203,7 +203,7 @@
 
 #### `dependencies()`
 
-``` meson
+```meson
 source_config.dependencies()
 ```
 
diff --git a/docs/markdown/Subprojects.md b/docs/markdown/Subprojects.md
index 98c9b1f..3fbfd5b 100644
--- a/docs/markdown/Subprojects.md
+++ b/docs/markdown/Subprojects.md
@@ -1,5 +1,5 @@
 ---
-short-description: Using meson projects as subprojects within other meson projects
+short-description: Using Meson projects as subprojects within other Meson projects
 ...
 
 # Subprojects
@@ -19,7 +19,7 @@
 It should be noted that this is only guaranteed to work for subprojects
 that are built with Meson. The reason is the simple fact that there is
 no possible way to do this reliably with mixed build systems. Because of
-this, only meson subprojects are described here.
+this, only Meson subprojects are described here.
 [CMake based subprojects](CMake-module.md#cmake-subprojects) are also
 supported but not guaranteed to work.
 
@@ -293,7 +293,7 @@
 
 Meson will automatically download needed subprojects during configure,
 unless **--wrap-mode=nodownload** option is passed. It is sometimes
-preferable to download all subprojects in advance, so the meson
+preferable to download all subprojects in advance, so the Meson
 configure can be performed offline. The command-line `meson
 subprojects download` can be used for that, it will download all
 missing subprojects, but will not update already fetched subprojects.
diff --git a/docs/markdown/Unit-tests.md b/docs/markdown/Unit-tests.md
index 92014bb..5233a4f 100644
--- a/docs/markdown/Unit-tests.md
+++ b/docs/markdown/Unit-tests.md
@@ -88,7 +88,7 @@
 
 Tests can be assigned a priority that determines when a test is
 *started*. Tests with higher priority are started first, tests with
-lower priority started later. The default priority is 0, meson makes
+lower priority started later. The default priority is 0, Meson makes
 no guarantee on the ordering of tests with identical priority.
 
 ```meson
@@ -123,7 +123,7 @@
 
 ## Testing tool
 
-The goal of the meson test tool is to provide a simple way to run
+The goal of the Meson test tool is to provide a simple way to run
 tests in a variety of different ways. The tool is designed to be run
 in the build directory.
 
@@ -263,8 +263,8 @@
 When tests use the `tap` protocol each test will be recorded as a
 testsuite container, with each case named by the number of the result.
 
-When tests use the `gtest` protocol meson will inject arguments to the
-test to generate it's own JUnit XML, which meson will include as part
+When tests use the `gtest` protocol Meson will inject arguments to the
+test to generate it's own JUnit XML, which Meson will include as part
 of this XML file.
 
 *New in 0.55.0*
diff --git a/docs/markdown/Users.md b/docs/markdown/Users.md
index 6c3dc61..27d18a2 100644
--- a/docs/markdown/Users.md
+++ b/docs/markdown/Users.md
@@ -105,7 +105,7 @@
  - [OpenTitan](https://github.com/lowRISC/opentitan), an open source silicon Root of Trust (RoT) project.
  - [Orc](https://gitlab.freedesktop.org/gstreamer/orc), the Optimized Inner Loop Runtime Compiler
  - [OTS](https://github.com/khaledhosny/ots), the OpenType Sanitizer, parses and serializes OpenType files (OTF, TTF) and WOFF and WOFF2 font files, validating and sanitizing them as it goes. Used by Chromium and Firefox
- - [Outlier](https://github.com/kerolasa/outlier), a small Hello World style meson example project
+ - [Outlier](https://github.com/kerolasa/outlier), a small Hello World style Meson example project
  - [p11-kit](https://github.com/p11-glue/p11-kit), PKCS#11 module aggregator
  - [Pacman](https://git.archlinux.org/pacman.git/tree/), a package manager for Arch Linux
  - [Pango](https://git.gnome.org/browse/pango/), an Internationalized text layout and rendering library
diff --git a/docs/markdown/Using-with-Visual-Studio.md b/docs/markdown/Using-with-Visual-Studio.md
index 3c97ee5..2680e8b 100644
--- a/docs/markdown/Using-with-Visual-Studio.md
+++ b/docs/markdown/Using-with-Visual-Studio.md
@@ -1,5 +1,5 @@
 ---
-short-description: How to use meson in Visual Studio
+short-description: How to use Meson in Visual Studio
 ...
 
 # Using with Visual Studio
@@ -32,16 +32,16 @@
 will need the [llvm toolset extension for visual
 studio](https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain).
 You then need to either use a [native file](Native-environments.md#binaries)
-or `set CC=clang-cl`, and `set CXX=clang-cl` to use those compilers, meson
+or `set CC=clang-cl`, and `set CXX=clang-cl` to use those compilers, Meson
 will do the rest.
 
 This only works with visual studio 2017 and 2019.
 
-There is currently no support in meson for clang/c2.
+There is currently no support in Meson for clang/c2.
 
 # Using Intel-CL (ICL) with Visual Studio
 
 *(new in 0.52.0)*
 
 To use ICL you need only have ICL installed and launch an ICL development
-shell like you would for the ninja backend and meson will take care of it.
+shell like you would for the ninja backend and Meson will take care of it.
diff --git a/docs/markdown/Wrap-dependency-system-manual.md b/docs/markdown/Wrap-dependency-system-manual.md
index 3bf22ee..ff092e8 100644
--- a/docs/markdown/Wrap-dependency-system-manual.md
+++ b/docs/markdown/Wrap-dependency-system-manual.md
@@ -131,7 +131,7 @@
 For historic reasons this is called a "patch", however, it serves as an
 overlay to add or replace files rather than modifying them. The file
 must be an archive; it is downloaded and automatically extracted into
-the subproject. The extracted files will include a meson build
+the subproject. The extracted files will include a Meson build
 definition for the given subproject.
 
 This approach makes it extremely simple to embed dependencies that
diff --git a/docs/markdown/howtox.md b/docs/markdown/howtox.md
index fa99864..f05f3e8 100644
--- a/docs/markdown/howtox.md
+++ b/docs/markdown/howtox.md
@@ -43,7 +43,7 @@
 and gcc), with the latter it should be an executable, such as
 `lld-link.exe`.
 
-*NOTE* In meson 0.53.0 the `ld` entry in the cross/native file and the
+*NOTE* In Meson 0.53.0 the `ld` entry in the cross/native file and the
 `LD` environment variable were used, this resulted in a large number
 of regressions and was changed in 0.53.1 to `<lang>_ld` and `<comp
 variable>_LD`.
diff --git a/docs/markdown/snippets/unstable-rust-module.md b/docs/markdown/snippets/unstable-rust-module.md
index 9870298..47790e3 100644
--- a/docs/markdown/snippets/unstable-rust-module.md
+++ b/docs/markdown/snippets/unstable-rust-module.md
@@ -1,4 +1,4 @@
 ## Untable Rust module
 
-A new unstable module has been added to make using Rust with meson easier.
+A new unstable module has been added to make using Rust with Meson easier.
 Currently it adds a single function to ease defining Rust tests.