diff --git a/README/CONTRIBUTING.md b/README/CONTRIBUTING.md
index 788eb18..0055127 100644
--- a/README/CONTRIBUTING.md
+++ b/README/CONTRIBUTING.md
@@ -40,7 +40,7 @@ Concerning the “Tidy Code Style,” checkout [CODESTYLE.md](CODESTYLE.md), but
### Using Git appropriately
1. Fork the repository to your GitHub account.
- 2. Optionally create a **topical branch**, a branch whose name is succint but explains what you're doing, such as "feature/add-new-lines".
+ 2. Optionally create a **topical branch**, a branch whose name is succinct but explains what you're doing, such as "feature/add-new-lines".
3. Make your changes, committing at logical breaks.
4. Push your work to your personal account.
5. [Create a pull request](https://help.github.com/articles/using-pull-requests).
diff --git a/include/tidyenum.h b/include/tidyenum.h
index 97131dc..b62850a 100644
--- a/include/tidyenum.h
+++ b/include/tidyenum.h
@@ -107,6 +107,7 @@ extern "C" {
*/
#define FOREACH_MSG_MISC(FN) \
/** line %d column %d */ FN(LINE_COLUMN_STRING) \
+/** %s: line %d column %d */ FN(FN_LINE_COLUMN_STRING) \
/** discarding */ FN(STRING_DISCARDING) \
/** error and errors */ FN(STRING_ERROR_COUNT_ERROR) \
/** warning and warnings */ FN(STRING_ERROR_COUNT_WARNING) \
@@ -636,6 +637,7 @@ typedef enum
TidyQuoteNbsp, /**< Output non-breaking space as entity */
TidyReplaceColor, /**< Replace hex color attribute values with names */
TidyShowErrors, /**< Number of errors to put out */
+ TidyShowFilename, /**< If true, the input filename is displayed with the error messages */
TidyShowInfo, /**< If true, info-level messages are shown */
TidyShowMarkup, /**< If false, normal output is suppressed */
TidyShowMetaChange, /**< show when meta http-equiv content charset was changed - compatibility */
diff --git a/src/config.c b/src/config.c
index 0dd21ae..f5e8379 100644
--- a/src/config.c
+++ b/src/config.c
@@ -245,6 +245,7 @@ static const TidyOptionImpl option_defs[] =
{ TidyQuoteNbsp, ME, "quote-nbsp", BL, yes, ParsePickList, &boolPicks },
{ TidyReplaceColor, MX, "replace-color", BL, no, ParsePickList, &boolPicks },
{ TidyShowErrors, DD, "show-errors", IN, 6, ParseInt, NULL },
+ { TidyShowFilename, DD, "show-filename", BL, no, ParsePickList, &boolPicks },
{ TidyShowInfo, DD, "show-info", BL, yes, ParsePickList, &boolPicks },
{ TidyShowMarkup, DD, "markup", BL, yes, ParsePickList, &boolPicks },
{ TidyShowMetaChange, DG, "show-meta-change", BL, no, ParsePickList, &boolPicks }, /* 20170609 - Issue #456 */
diff --git a/src/language_en.h b/src/language_en.h
index e4bd03e..038afe0 100644
--- a/src/language_en.h
+++ b/src/language_en.h
@@ -363,8 +363,15 @@ static languageDefinition language_en = { whichPluralForm_en, {
- The strings "Tidy" and "HTML Tidy" are the program name and must not
be translated. */
TidyEmacs, 0,
- "This option specifies if Tidy should change the format for reporting "
- "errors and warnings to a format that is more easily parsed by GNU Emacs. "
+ "This option specifies that Tidy should change the format for reporting "
+ "errors and warnings to a format that is more easily parsed by GNU Emacs "
+ "or some other program. It changes them from the default "
+ "
"
+ " line <line number> column <column number> - (Error|Warning): <message> "
+ "
"
+ "to a form which includes the input filename: "
+ "
"
+ " <filename>:<line number>:<column number>: (Error|Warning): <message> "
},
{/* Important notes for translators:
- Use only
, , , , and
@@ -1165,6 +1172,21 @@ static languageDefinition language_en = { whichPluralForm_en, {
"This option specifies the number Tidy uses to determine if further errors "
"should be shown. If set to 0, then no errors are shown. "
},
+ {/* Important notes for translators:
+ - Use only
, , , , and
+
.
+ - Entities, tags, attributes, etc., should be enclosed in
.
+ - Option values should be enclosed in .
+ - It's very important that
be self-closing!
+ - The strings "Tidy" and "HTML Tidy" are the program name and must not
+ be translated. */
+ TidyShowFilename, 0,
+ "This option specifies if Tidy should show the filename in messages. eg: "
+ "
"
+ " tidy -q -e --show-filename yes index.html
"
+ " index.html: line 43 column 3 - Warning: replacing invalid UTF-8 bytes (char. code U+00A9) "
+ },
+
{/* Important notes for translators:
- Use only
, , , , and
.
@@ -1681,6 +1703,7 @@ static languageDefinition language_en = { whichPluralForm_en, {
** @remark enum generator FOREACH_MSG_MISC
********************************************/
{ LINE_COLUMN_STRING, 0, "line %d column %d - " },
+ { FN_LINE_COLUMN_STRING, 0, "%s: line %d column %d - " },
{/* For example, "discarding invalid UTF-16 surrogate pair" */
STRING_DISCARDING, 0, "discarding"
},
diff --git a/src/message.c b/src/message.c
index 37aacb2..0900407 100644
--- a/src/message.c
+++ b/src/message.c
@@ -1522,6 +1522,7 @@ static const TidyOptionId TidyAsciiCharsLinks[] = { TidyMakeClean, TidyUnkn
static const TidyOptionId TidyBlockTagsLinks[] = { TidyEmptyTags, TidyInlineTags, TidyPreTags, TidyUseCustomTags, TidyUnknownOption };
static const TidyOptionId TidyCharEncodingLinks[] = { TidyInCharEncoding, TidyOutCharEncoding, TidyUnknownOption };
static const TidyOptionId TidyDuplicateAttrsLinks[] = { TidyJoinClasses, TidyJoinStyles, TidyUnknownOption };
+static const TidyOptionId TidyEmacsLinks[] = { TidyShowFilename, TidyUnknownOption };
static const TidyOptionId TidyEmptyTagsLinks[] = { TidyBlockTags, TidyInlineTags, TidyPreTags, TidyUseCustomTags, TidyUnknownOption };
static const TidyOptionId TidyErrFileLinks[] = { TidyOutFile, TidyUnknownOption };
static const TidyOptionId TidyInCharEncodingLinks[] = { TidyCharEncoding, TidyUnknownOption };
@@ -1536,6 +1537,7 @@ static const TidyOptionId TidyNumEntitiesLinks[] = { TidyDoctype, TidyPreser
static const TidyOptionId TidyOutCharEncodingLinks[] = { TidyCharEncoding, TidyUnknownOption };
static const TidyOptionId TidyOutFileLinks[] = { TidyErrFile, TidyUnknownOption };
static const TidyOptionId TidyPreTagsLinks[] = { TidyBlockTags, TidyEmptyTags, TidyInlineTags, TidyUseCustomTags, TidyUnknownOption };
+static const TidyOptionId TidyShowFilenameLinks[] = { TidyEmacs, TidyUnknownOption };
static const TidyOptionId TidySortAttributesLinks[] = { TidyPriorityAttributes, TidyUnknownOption };
static const TidyOptionId TidyUseCustomTagsLinks[] = { TidyBlockTags, TidyEmptyTags, TidyInlineTags, TidyPreTags, TidyUnknownOption };
static const TidyOptionId TidyWrapAttValsLinks[] = { TidyWrapScriptlets, TidyLiteralAttribs, TidyUnknownOption };
@@ -1552,6 +1554,7 @@ static const TidyOptionDoc docs_xrefs[] =
{ TidyBlockTags, TidyBlockTagsLinks },
{ TidyCharEncoding, TidyCharEncodingLinks },
{ TidyDuplicateAttrs, TidyDuplicateAttrsLinks },
+ { TidyEmacs, TidyEmacsLinks },
{ TidyEmptyTags, TidyEmptyTagsLinks },
{ TidyErrFile, TidyErrFileLinks },
{ TidyInCharEncoding, TidyInCharEncodingLinks },
@@ -1565,6 +1568,7 @@ static const TidyOptionDoc docs_xrefs[] =
{ TidyOutCharEncoding, TidyOutCharEncodingLinks },
{ TidyOutFile, TidyOutFileLinks },
{ TidyPreTags, TidyPreTagsLinks },
+ { TidyShowFilename, TidyShowFilenameLinks },
{ TidySortAttributes, TidySortAttributesLinks },
{ TidyMuteReports, TidyMuteLinks },
{ TidyUseCustomTags, TidyUseCustomTagsLinks },
diff --git a/src/messageobj.c b/src/messageobj.c
index 9d9cee2..e6aee29 100644
--- a/src/messageobj.c
+++ b/src/messageobj.c
@@ -127,6 +127,14 @@ static TidyMessageImpl *tidyMessageCreateInitV( TidyDocImpl *doc,
TY_(tmbsnprintf)(result->messagePosDefault, sizeMessageBuf, "%s:%d:%d: ", cfgStr(doc, TidyEmacsFile), line, column);
TY_(tmbsnprintf)(result->messagePos, sizeMessageBuf, "%s:%d:%d: ", cfgStr(doc, TidyEmacsFile), line, column);
}
+ else if ( cfgBool(doc, TidyShowFilename) && cfgStr(doc, TidyEmacsFile) )
+ {
+ /* Include filename in output */
+ TY_(tmbsnprintf)(result->messagePosDefault, sizeMessageBuf, tidyDefaultString(FN_LINE_COLUMN_STRING),
+ cfgStr(doc, TidyEmacsFile), line, column);
+ TY_(tmbsnprintf)(result->messagePos, sizeMessageBuf, tidyLocalizedString(FN_LINE_COLUMN_STRING),
+ cfgStr(doc, TidyEmacsFile), line, column);
+ }
else
{
/* traditional format */