In the written form of many languages, indentation describes empty space, a.k.a. white space, used around text to signify an important aspect of the text such as:
Many computer languages use block indentation to demarcate blocks of source code.
Indention is essentially the same regardless of whether the writing system is left-to-right (e.g. Latin and Cyrillic) or right-to-left (e.g. Hebrew and Arabic) when considering line beginning and end. For example, indenting at the beginning of line means on the left for a left-to-right script and on the right for right-to-left script.
Indent is both a noun and a verb. The verb is the act of formatting text to be indented whereas the noun refers to the resulting empty space.
There are three main types of indentation: first-line, hanging and block.
Each example below is in a box that represents the page boundary and uses the common typesetting lorem ipsum content. The width of indentation here is in units of em spaces.
In computer programming, indentation describes formatting source code with whitespace to the left of code text – often to visually show that a sequence of code lines is syntactically a code block. Typically, the lines of a block are aligned with an amount of white space that indicates the block's depth in the hierarchical structure of the code. Each inner level of the hierarchy is indented by a multiple of this indentation width.
White space in code is typically stored as whitespace characters.
For a free-form language, indentation is exclusively for the programmer since a code processor (i.e. compiler, interpreter) ignores whitespace characters. Code can have inconsistent or even no indentation, but in general is formatted with somewhat consistent indentation.
Some languages rely on indentation to demarcate block structure, often via the off-side rule. Due to this syntax requirement, the code must have a level of consistency that is not required in free-form language code.
The neologisms outdent, unindent and dedent describe the opposite of indentation – aligning code text of a line to the left of the previous line.
Common variations in the implementation of indentation include: how much to indent a block at each level of the code hierarchy, usually measured in spaces, and whether to store whitespace characters as space or tab characters. Although there are common practices, consensus is not universal. [1] These variations are driven by factors that may include but are not limited to: language syntax, organizational mandate and personal preference.
The following table identifies notable practices with respect to code indentation.
Language | Free-form? | Note |
---|---|---|
Bash | Yes | Fritz Mehner's style guide suggests 2, 4, or 8 spaces and uses 2 in all examples [2] |
C | Yes | The Linux kernel uses 1 tab [4] [5] Clinton Staley advocates 3 spaces [7] |
C++ | Yes | WebKit recommends 4 spaces [8] Google uses 2 spaces [9] |
C# | Yes | Microsoft convention: 4 spaces [10] |
CSS | Yes | Drupal, GitHub, and Google use 2 spaces [11] [12] [13] [14] |
Dart | Yes | dart format uses 2 spaces |
Delphi | Yes | Delphi style guide: 2 spaces [16] |
F# | Yes | F# style guide: 4 spaces [17] |
Go | Yes | Effective Go: 1 tab [18] |
Haskell | No | Google uses 2 spaces [19] |
HTML | Yes | Google uses 2 spaces [13] |
Java | Yes | Oracle uses 4 spaces [21] Most Eclipse IDE components use tabs |
JavaScript | Yes | Douglas Crockford advocates 4 spaces [23] GitHub and Google use 2 spaces [24] [25] Firefox's built-in jsbeautifier defaults to 2 spaces prettyprinter in Google Chrome and Internet Explorer use 4 spaces |
Julia | Yes | Julia style guide: 4 spaces [27] |
Kotlin | Yes | Kotlin style guide: 4 spaces [28] |
Lua | Yes | Lua style guide: 2 spaces [29] |
Perl | Yes | Larry Wall prefers 4 spaces [30] |
PHP | Yes | Drupal use 2 spaces [31] PEAR and Zend use 4 spaces [32] [33] CodeIgniter and WordPress use tabs [34] [35] PSR-2 specifies 4 spaces [36] |
PowerShell | Yes | Unofficial PowerShell Best Practices and Style Guide: 4 spaces [37] |
Python | No | PEP 8: 4 spaces [38] |
Ruby | Yes | Ruby style guide: 2 spaces [39] |
Rust | Yes | Rust style guide: 4 spaces [40] |
Scala | Yes | Scala style guide: 2 spaces [41] |
Swift | Yes | Google uses 2 spaces [42] |
Tcl | Yes | Tcl style guide: 4 spaces [43] |
Visual Basic | Yes | Microsoft convention: 4 spaces [44] |
XML | Yes | Google uses 2 spaces [45] |
In 2006, a new method of indentation was proposed, called elastic tabstops.[ citation needed ]
The terms foobar, foo, bar, baz, and others are used as metasyntactic variables and placeholder names in computer programming or computer-related documentation. They have been used to name entities such as variables, functions, and commands whose exact identity is unimportant and serve only to demonstrate a concept. The style guide for Google developer documentation recommends against using them as example project names because they are unclear and can cause confusion.
Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.
A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software. Text editors are provided with operating systems and software development packages, and can be used to change files such as configuration files, documentation files and programming language source code.
Scriptio continua, also known as scriptura continua or scripta continua, is a style of writing without spaces or other marks between the words or sentences. The form also lacks punctuation, diacritics, or distinguished letter case. In the West, the oldest Greek and Latin inscriptions used word dividers to separate words in sentences; however, Classical Greek and late Classical Latin both employed scriptio continua as the norm.
In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content. Lorem ipsum may be used as a placeholder before the final copy is available. It is also used to temporarily replace text in a process called greeking, which allows designers to consider the form of a webpage or publication, without the meaning of the text influencing the design.
Syntax highlighting is a feature of text editors that is used for programming, scripting, or markup languages, such as HTML. The feature displays text, especially source code, in different colours and fonts according to the category of terms. This feature facilitates writing in a structured language such as a programming language or a markup language as both structures and syntax errors are visually distinct. This feature is also employed in many programming related contexts, either in the form of colorful books or online websites to make understanding code snippets easier for readers. Highlighting does not affect the meaning of the text itself; it is intended only for human readers.
In computer programming, indentation style is a convention, a.k.a. style, governing the indentation of blocks of source code that is intended to result in code that conveys structure.
Pretty-printing is the application of any of various stylistic formatting conventions to text files, such as source code, markup, and similar kinds of content. These formatting conventions may entail adhering to an indentation style, using different color and typeface to highlight syntactic elements of source code, or adjusting size, to make the content easier for people to read, and understand. Pretty-printers for source code are sometimes called code formatters or beautifiers.
TextPad is a text editor for Microsoft Windows developed by Helios Software Solutions. It is currently in its eighth major version. TextPad was initially released in 1992 as shareware, with users requested to pay a registration fee to support future development. As of 1996 the company was an associate member of the Association of Shareware Professionals. By 1998 the company was pointing out that the editor was "shareware " and payment was necessary to continue to use it.
A lightweight markup language (LML), also termed a simple or humane markup language, is a markup language with simple, unobtrusive syntax. It is designed to be easy to write using any generic text editor and easy to read in its raw form. Lightweight markup languages are used in applications where it may be necessary to read the raw document as well as the final rendered output.
In word processing and digital typesetting, a non-breaking space, also called NBSP, required space, hard space, or fixed space, is a space character that prevents an automatic line break at its position. In some formats, including HTML, it also prevents consecutive whitespace characters from collapsing into a single space. Non-breaking space characters with other widths also exist.
In a written or published work, an initial capital is a letter at the beginning of a word, a chapter, or a paragraph that is larger than the rest of the text. The word is derived from the Latin initialis, which means standing at the beginning. An initial is often several lines in height and in older books or manuscripts are known as "inhabited" initials. Certain important initials, such as the Beatus initial or "B" of Beatus vir... at the opening of Psalm 1 at the start of a vulgate Latin. These specific initials in an illuminated manuscript were also called initiums.
Secondary notation is the set of visual cues used to improve the readability of a formal notation. Examples of secondary notation include the syntax highlighting of computer source code, sizes and color codes for easy recognition of consumer symbols such as bank notes or coins, or the regular typographic conventions often found in technical books to highlight sections with the same type of content.
GitHub is a developer platform that allows developers to create, store, manage and share their code. It uses Git software, providing the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.
The zero-width space (), abbreviated ZWSP, is a non-printing character used in computerized typesetting to indicate word boundaries to text-processing systems for scripts that do not use explicit spacing, or after characters not followed by a visible space after which there may be a line break.
Sass is a preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets (CSS). SassScript is the scripting language itself.
fold is a Unix command used for making a file with long lines more readable on a limited width computer terminal by performing a line wrap.
CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar inspired by Ruby, Python, and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehension and destructuring assignment.
In computing, a piece table is a data structure typically used to represent a text document while it is edited in a text editor. Initially a reference to the whole of the original file is created, which represents the as yet unchanged file. Subsequent inserts and deletes replace a span by combinations of one, two, or three references to sections of either the original document or to a buffer holding inserted text.
{{cite web}}
: CS1 maint: archived copy as title (link){{cite web}}
: CS1 maint: archived copy as title (link)Indent by 2 spaces at a time.This is an HTML-rendered copy of the official version, which is maintained in XML format