Tools for developing Git
========================
:sectanchors:

[[summary]]
== Summary

This document gathers tips, scripts, and configuration files to help people
working on Git's codebase use their favorite tools while following Git's
coding style.

[[author]]
=== Author

The Git community.

[[table_of_contents]]
== Table of contents

- <<vscode>>
- <<emacs>>

[[vscode]]
=== Visual Studio Code (VS Code)

The contrib/vscode/init.sh script creates configuration files that enable
several valuable VS Code features. See contrib/vscode/README.md for more
information on using the script.

[[emacs]]
=== Emacs

This is adapted from Linux's suggestion in its CodingStyle document:

- To follow the rules in CodingGuidelines, it's useful to put the following in
GIT_CHECKOUT/.dir-locals.el, assuming you use cperl-mode:

----
;; note the first part is useful for C editing, too
((nil . ((indent-tabs-mode . t)
	 (tab-width . 8)
	 (fill-column . 80)))
	 (cperl-mode . ((cperl-indent-level . 8)
			(cperl-extra-newline-before-brace . nil)
			(cperl-merge-trailing-else . t))))
----

For a more complete setup, since Git's codebase uses a coding style
similar to the Linux kernel's style, tips given in Linux's CodingStyle
document can be applied here too.

==== https://www.kernel.org/doc/html/v4.10/process/coding-style.html#you-ve-made-a-mess-of-it
