Showing 527 of 527 total issues

Hard tabs
Open

    having the type in the function name: eg `f.get_key(cat, "name", RMF.IntTraits())`
Severity: Info
Found in ChangeLog.md by markdownlint

MD010 - Hard tabs

Tags: whitespace, hard_tab

Aliases: no-hard-tabs

This rule is triggered by any lines that contain hard tab characters instead of using spaces for indentation. To fix this, replace any hard tab characters with spaces instead.

Example:

Some text

    * hard tab character used to indent the list item

Corrected example:

Some text

    * Spaces used to indent the list item instead

Hard tabs
Open

    which RMF::Nullable::get_is_null() is true is returned (C++) or
Severity: Info
Found in ChangeLog.md by markdownlint

MD010 - Hard tabs

Tags: whitespace, hard_tab

Aliases: no-hard-tabs

This rule is triggered by any lines that contain hard tab characters instead of using spaces for indentation. To fix this, replace any hard tab characters with spaces instead.

Example:

Some text

    * hard tab character used to indent the list item

Corrected example:

Some text

    * Spaces used to indent the list item instead

Hard tabs
Open

    RMF::FileHandle::get_node()
Severity: Info
Found in ChangeLog.md by markdownlint

MD010 - Hard tabs

Tags: whitespace, hard_tab

Aliases: no-hard-tabs

This rule is triggered by any lines that contain hard tab characters instead of using spaces for indentation. To fix this, replace any hard tab characters with spaces instead.

Example:

Some text

    * hard tab character used to indent the list item

Corrected example:

Some text

    * Spaces used to indent the list item instead

Headers should be surrounded by blank lines
Open

# 1.6.0 - 2023-12-14 # {#changelog_1_6_0}
Severity: Info
Found in ChangeLog.md by markdownlint

MD022 - Headers should be surrounded by blank lines

Tags: headers, blank_lines

Aliases: blanks-around-headers

This rule is triggered when headers (any style) are either not preceded or not followed by a blank line:

# Header 1
Some text

Some more text
## Header 2

To fix this, ensure that all headers have a blank line both before and after (except where the header is at the beginning or end of the document):

# Header 1

Some text

Some more text

## Header 2

Rationale: Aside from aesthetic reasons, some parsers, including kramdown, will not parse headers that don't have a blank line before, and will parse them as regular text.

Header style
Open

# CMake tools # {#cmake_tools}
Severity: Info
Found in doc/Developers.md by markdownlint

MD003 - Header style

Tags: headers

Aliases: header-style

Parameters: style ("consistent", "atx", "atxclosed", "setext", "setextwith_atx"; default "consistent")

This rule is triggered when different header styles (atx, setext, and 'closed' atx) are used in the same document:

# ATX style H1

## Closed ATX style H2 ##

Setext style H1
===============

Be consistent with the style of header used in a document:

# ATX style H1

## ATX style H2

The setextwithatx doc style allows atx-style headers of level 3 or more in documents with setext style headers:

Setext style H1
===============

Setext style H2
---------------

### ATX style H3

Note: the configured header style can be a specific style to use (atx, atxclosed, setext, setextwith_atx), or simply require that the usage be consistent within the document.

Line length
Open

We provide a simple set of classes for accessing core HDF5 functionality from C++. This was needed since
Severity: Info
Found in doc/HDF5.md by markdownlint

MD013 - Line length

Tags: line_length

Aliases: line-length Parameters: linelength, codeblocks, tables (number; default 80, boolean; default true)

This rule is triggered when there are lines that are longer than the configured line length (default: 80 characters). To fix this, split the line up into multiple lines.

This rule has an exception where there is no whitespace beyond the configured line length. This allows you to still include items such as long URLs without being forced to break them in the middle.

You also have the option to exclude this rule for code blocks and tables. To do this, set the code_blocks and/or tables parameters to false.

Code blocks are included in this rule by default since it is often a requirement for document readability, and tentatively compatible with code rules. Still, some languages do not lend themselves to short lines.

Header style
Open

# rmf_show # {#rmf_show}
Severity: Info
Found in doc/Executables.md by markdownlint

MD003 - Header style

Tags: headers

Aliases: header-style

Parameters: style ("consistent", "atx", "atxclosed", "setext", "setextwith_atx"; default "consistent")

This rule is triggered when different header styles (atx, setext, and 'closed' atx) are used in the same document:

# ATX style H1

## Closed ATX style H2 ##

Setext style H1
===============

Be consistent with the style of header used in a document:

# ATX style H1

## ATX style H2

The setextwithatx doc style allows atx-style headers of level 3 or more in documents with setext style headers:

Setext style H1
===============

Setext style H2
---------------

### ATX style H3

Note: the configured header style can be a specific style to use (atx, atxclosed, setext, setextwith_atx), or simply require that the usage be consistent within the document.

Multiple top level headers in the same document
Open

# rmf_validate # {#rmf_validate}
Severity: Info
Found in doc/Executables.md by markdownlint

MD025 - Multiple top level headers in the same document

Tags: headers

Aliases: single-h1

Parameters: level (number; default 1)

This rule is triggered when a top level header is in use (the first line of the file is a h1 header), and more than one h1 header is in use in the document:

# Top level header

# Another top level header

To fix, structure your document so that there is a single h1 header that is the title for the document, and all later headers are h2 or lower level headers:

# Title

## Header

## Another header

Rationale: A top level header is a h1 on the first line of the file, and serves as the title for the document. If this convention is in use, then there can not be more than one title for the document, and the entire document should be contained within this header.

Note: The level parameter can be used to change the top level (ex: to h2) in cases where an h1 is added externally.

Code block style
Open

    Grab frames from an rmf file
Severity: Info
Found in doc/Executables.md by markdownlint

Header style
Open

# Developer tools # {#dev_tools}
Severity: Info
Found in doc/Developers.md by markdownlint

MD003 - Header style

Tags: headers

Aliases: header-style

Parameters: style ("consistent", "atx", "atxclosed", "setext", "setextwith_atx"; default "consistent")

This rule is triggered when different header styles (atx, setext, and 'closed' atx) are used in the same document:

# ATX style H1

## Closed ATX style H2 ##

Setext style H1
===============

Be consistent with the style of header used in a document:

# ATX style H1

## ATX style H2

The setextwithatx doc style allows atx-style headers of level 3 or more in documents with setext style headers:

Setext style H1
===============

Setext style H2
---------------

### ATX style H3

Note: the configured header style can be a specific style to use (atx, atxclosed, setext, setextwith_atx), or simply require that the usage be consistent within the document.

Double quote to prevent globbing and word splitting.
Open

cd ${TOP_DIR}
Severity: Minor
Found in tools/debian/make-package.sh by shellcheck

Double quote to prevent globbing and word splitting.

Problematic code:

echo $1
for i in $*; do :; done # this done and the next one also applies to expanding arrays.
for i in $@; do :; done

Correct code:

echo "$1"
for i in "$@"; do :; done # or, 'for i; do'

Rationale

The first code looks like "print the first argument". It's actually "Split the first argument by IFS (spaces, tabs and line feeds). Expand each of them as if it was a glob. Join all the resulting strings and filenames with spaces. Print the result."

The second one looks like "iterate through all arguments". It's actually "join all the arguments by the first character of IFS (space), split them by IFS and expand each of them as globs, and iterate on the resulting list". The third one skips the joining part.

Quoting variables prevents word splitting and glob expansion, and prevents the script from breaking when input contains spaces, line feeds, glob characters and such.

Strictly speaking, only expansions themselves need to be quoted, but for stylistic reasons, entire arguments with multiple variable and literal parts are often quoted as one:

$HOME/$dir/dist/bin/$file        # Unquoted (bad)
"$HOME"/"$dir"/dist/bin/"$file"  # Minimal quoting (good)
"$HOME/$dir/dist/bin/$file"      # Canonical quoting (good)

When quoting composite arguments, make sure to exclude globs and brace expansions, which lose their special meaning in double quotes: "$HOME/$dir/src/*.c" will not expand, but "$HOME/$dir/src"/*.c will.

Note that $( ) starts a new context, and variables in it have to be quoted independently:

echo "This $variable is quoted $(but this $variable is not)"
echo "This $variable is quoted $(and now this "$variable" is too)"

Exceptions

Sometimes you want to split on spaces, like when building a command line:

options="-j 5 -B"
make $options file

Just quoting this doesn't work. Instead, you should have used an array (bash, ksh, zsh):

options=(-j 5 -B) # ksh: set -A options -- -j 5 -B
make "${options[@]}" file

or a function (POSIX):

make_with_flags() { make -j 5 -B "$@"; }
make_with_flags file

To split on spaces but not perform glob expansion, Posix has a set -f to disable globbing. You can disable word splitting by setting IFS=''.

Similarly, you might want an optional argument:

debug=""
[[ $1 == "--trace-commands" ]] && debug="-x"
bash $debug script

Quoting this doesn't work, since in the default case, "$debug" would expand to one empty argument while $debug would expand into zero arguments. In this case, you can use an array with zero or one elements as outlined above, or you can use an unquoted expansion with an alternate value:

debug=""
[[ $1 == "--trace-commands" ]] && debug="yes"
bash ${debug:+"-x"} script

This is better than an unquoted value because the alternative value can be properly quoted, e.g. wget ${output:+ -o "$output"}.


As always, this warning can be [[ignore]]d on a case-by-case basis.

this is especially relevant when BASH many not be available for the array work around. For example, use in eval or in command options where script has total control of the variables...

FLAGS="-av -e 'ssh -x' --delete --delete-excluded"
...
# shellcheck disable=SC2086
eval rsync $FLAGS ~/dir remote_host:dir

Notice

Original content from the ShellCheck https://github.com/koalaman/shellcheck/wiki.

Multiple top level headers in the same document
Open

# Overview #
Severity: Info
Found in doc/Developers.md by markdownlint

MD025 - Multiple top level headers in the same document

Tags: headers

Aliases: single-h1

Parameters: level (number; default 1)

This rule is triggered when a top level header is in use (the first line of the file is a h1 header), and more than one h1 header is in use in the document:

# Top level header

# Another top level header

To fix, structure your document so that there is a single h1 header that is the title for the document, and all later headers are h2 or lower level headers:

# Title

## Header

## Another header

Rationale: A top level header is a h1 on the first line of the file, and serves as the title for the document. If this convention is in use, then there can not be more than one title for the document, and the entire document should be contained within this header.

Note: The level parameter can be used to change the top level (ex: to h2) in cases where an h1 is added externally.

Header style
Open

# Symmetries #
Severity: Info
Found in doc/MappingToRMF.md by markdownlint

MD003 - Header style

Tags: headers

Aliases: header-style

Parameters: style ("consistent", "atx", "atxclosed", "setext", "setextwith_atx"; default "consistent")

This rule is triggered when different header styles (atx, setext, and 'closed' atx) are used in the same document:

# ATX style H1

## Closed ATX style H2 ##

Setext style H1
===============

Be consistent with the style of header used in a document:

# ATX style H1

## ATX style H2

The setextwithatx doc style allows atx-style headers of level 3 or more in documents with setext style headers:

Setext style H1
===============

Setext style H2
---------------

### ATX style H3

Note: the configured header style can be a specific style to use (atx, atxclosed, setext, setextwith_atx), or simply require that the usage be consistent within the document.

Line length
Open

- The [standard HDF5 C++ interface](https://support.hdfgroup.org/HDF5/) doesn't really simplify use of the HDF5 library and doesn't make use of the features of C++.
Severity: Info
Found in doc/HDF5.md by markdownlint

MD013 - Line length

Tags: line_length

Aliases: line-length Parameters: linelength, codeblocks, tables (number; default 80, boolean; default true)

This rule is triggered when there are lines that are longer than the configured line length (default: 80 characters). To fix this, split the line up into multiple lines.

This rule has an exception where there is no whitespace beyond the configured line length. This allows you to still include items such as long URLs without being forced to break them in the middle.

You also have the option to exclude this rule for code blocks and tables. To do this, set the code_blocks and/or tables parameters to false.

Code blocks are included in this rule by default since it is often a requirement for document readability, and tentatively compatible with code rules. Still, some languages do not lend themselves to short lines.

Line length
Open

Not all of the functionality of the HDF5 C library is covered in C++. You can get the corresponding native handle from most objects with methods like RMF::HDF5::File::get_handle() and use that for other operations if needed. Alternatively, submit a patch to the library to add the missing functionality.
Severity: Info
Found in doc/HDF5.md by markdownlint

MD013 - Line length

Tags: line_length

Aliases: line-length Parameters: linelength, codeblocks, tables (number; default 80, boolean; default true)

This rule is triggered when there are lines that are longer than the configured line length (default: 80 characters). To fix this, split the line up into multiple lines.

This rule has an exception where there is no whitespace beyond the configured line length. This allows you to still include items such as long URLs without being forced to break them in the middle.

You also have the option to exclude this rule for code blocks and tables. To do this, set the code_blocks and/or tables parameters to false.

Code blocks are included in this rule by default since it is often a requirement for document readability, and tentatively compatible with code rules. Still, some languages do not lend themselves to short lines.

Header style
Open

# ChimeraX # {#chimerax}
Severity: Info
Found in doc/Viewing.md by markdownlint

MD003 - Header style

Tags: headers

Aliases: header-style

Parameters: style ("consistent", "atx", "atxclosed", "setext", "setextwith_atx"; default "consistent")

This rule is triggered when different header styles (atx, setext, and 'closed' atx) are used in the same document:

# ATX style H1

## Closed ATX style H2 ##

Setext style H1
===============

Be consistent with the style of header used in a document:

# ATX style H1

## ATX style H2

The setextwithatx doc style allows atx-style headers of level 3 or more in documents with setext style headers:

Setext style H1
===============

Setext style H2
---------------

### ATX style H3

Note: the configured header style can be a specific style to use (atx, atxclosed, setext, setextwith_atx), or simply require that the usage be consistent within the document.

Header style
Open

# Using the plugin #
Severity: Info
Found in plugins/pymol/README.md by markdownlint

MD003 - Header style

Tags: headers

Aliases: header-style

Parameters: style ("consistent", "atx", "atxclosed", "setext", "setextwith_atx"; default "consistent")

This rule is triggered when different header styles (atx, setext, and 'closed' atx) are used in the same document:

# ATX style H1

## Closed ATX style H2 ##

Setext style H1
===============

Be consistent with the style of header used in a document:

# ATX style H1

## ATX style H2

The setextwithatx doc style allows atx-style headers of level 3 or more in documents with setext style headers:

Setext style H1
===============

Setext style H2
---------------

### ATX style H3

Note: the configured header style can be a specific style to use (atx, atxclosed, setext, setextwith_atx), or simply require that the usage be consistent within the document.

Line length
Open

The category name is `physics`. It includes information about the physical structure of molecules.

MD013 - Line length

Tags: line_length

Aliases: line-length Parameters: linelength, codeblocks, tables (number; default 80, boolean; default true)

This rule is triggered when there are lines that are longer than the configured line length (default: 80 characters). To fix this, split the line up into multiple lines.

This rule has an exception where there is no whitespace beyond the configured line length. This allows you to still include items such as long URLs without being forced to break them in the middle.

You also have the option to exclude this rule for code blocks and tables. To do this, set the code_blocks and/or tables parameters to false.

Code blocks are included in this rule by default since it is often a requirement for document readability, and tentatively compatible with code rules. Still, some languages do not lend themselves to short lines.

Multiple top level headers in the same document
Open

# rmf_frames # {#rmf_frames}
Severity: Info
Found in doc/Executables.md by markdownlint

MD025 - Multiple top level headers in the same document

Tags: headers

Aliases: single-h1

Parameters: level (number; default 1)

This rule is triggered when a top level header is in use (the first line of the file is a h1 header), and more than one h1 header is in use in the document:

# Top level header

# Another top level header

To fix, structure your document so that there is a single h1 header that is the title for the document, and all later headers are h2 or lower level headers:

# Title

## Header

## Another header

Rationale: A top level header is a h1 on the first line of the file, and serves as the title for the document. If this convention is in use, then there can not be more than one title for the document, and the entire document should be contained within this header.

Note: The level parameter can be used to change the top level (ex: to h2) in cases where an h1 is added externally.

Code block style
Open

    http://www.apache.org/licenses/LICENSE-2.0
Severity: Info
Found in README.md by markdownlint
Severity
Category
Status
Source
Language