 				patterns: [{
 					name: "markup.plain.roff"
 					begin: "(?<=\\G)\\\\$\\n"
-					end:   '(?<!\\\\)"|(?<!\\\\)$|(?=\\\\")'
-					patterns: [ begin: '^(?:[^"\\\\]|""|\\\\(?!").)*\\\\$\\n', end: "^" ]},
+					end:   '(?<!\\\\)"(?!")|(?<!\\\\)$|(?=\\\\")'
+					patterns: [
+						{match: '""', name: "constant.character.escape.quote.double.roff"}
+						{begin: '^(?:[^"\\\\]|""|\\\\(?!").)*\\\\$\\n', end: "^"}
+					]}
 					{name: "markup.plain.roff", match: '^(?:[^\\\\"]|""|\\\\[^"])+(?<!\\\\)"'}
 					{name: "markup.italic.roff", begin: '[ \\t]+(?!\\\\?")(?:[^\\s"\\\\]|""|\\\\[^"])+\\\\$\\n', end: '(?<!\\\\)$|(?="[ \\t])|(?=\\\\")|(?<!\\\\)(?=[ \\t])'}
-					{name: "markup.italic.roff", match: '[ \\t]+(?!\\\\?")(?:[^\\s"\\\\]|""|\\\\(?!").)+'}
+					{name: "markup.italic.roff", match: '(?:[ \\t]+|(?<=")(?=[^"]|$))(?!\\\\?")(?:[^\\s"\\\\]|""|\\\\(?!").)+'}
 					{name: "markup.plain.roff", begin: "\\\\$\\n", end: "^"}
 					{name: "markup.italic.roff", match: '^(?:[^"\\s\\\\]|""|\\\\(?!").)+'}]
 			},{
-				match: '(?<!\\\\)("(?:[^\\\\"]|""|\\\\(?!").)*")[ \t]+("(?:[^\\\\"]|""|\\\\(?!").)*(?:[^\\\\]$|"))'
+				match: '(?<!\\\\)("(?:[^\\\\"]|""|\\\\(?!").)*")[ \t]+("(?:[^\\\\"]|""|\\\\(?!").)*(?:(?=[^"\\\\]$)|"))'
 				captures:
 					1: name: "markup.plain.roff"
 					2: name: "markup.italic.roff"
 			},{
 				begin: '(?<!\\\\)("(?:[^"]|"")*"|(?:[^\\s\\\\]|\\\\.)+)[ \t]+("(?:[^"]|"")*\\\\$\\n)'
-				patterns: [name: "markup.italic.roff", match: '^(?:[^"]|"")*\\\\$\\n']
-				end: '$|(?:[^"\\\\]|""|\\\\(?!").)*(?:(?=\\\\")|\\s*"\\s*)'
+				patterns: [
+					{name: "markup.italic.roff", match: '^(?:[^"]|"")*\\\\$\\n'}
+					{name: "constant.character.escape.quote.double.roff", match: '""'}
+				]
+				end: '$|(?:[^"\\\\]|""|\\\\(?!").)*(?:(?=\\\\")|\\s*"(?=$|[^"]))'
 				beginCaptures:
 					1: name: "markup.plain.roff"
 					2: name: "markup.italic.roff"

				name: "markup.italic.roff"
				match: '"(?:[^"\\\\]|""|\\\\(?!").)+(?=\\\\")'
			},{
				name: "markup.italic.roff"
				begin: '"'
				end: '(?<!\\\\)(?="|$)'
			},{
				begin: '(?!\\\\")(?=\\S)'
				end: '(?=\\\\\")|(?:((?:[^"\\\\]|""|\\\\(?!").)*)[ \t]+((?:[^"\\s\\\\]|""|\\\\(?!").)+)[ \t]*)|(?=$)'
				patterns: [begin: "\\\\$\\n", end: "^"]
				contentName: "markup.italic.roff"
				endCaptures:

				patterns: [{
					name: "markup.italic.roff"
					begin: "(?<=\\G)\\\\$\\n"
					end:   '(?<!\\\\)"(?!")|(?<!\\\\)$|(?=\\\\")'
					patterns: [
						{match: '""', name: "constant.character.escape.quote.double.roff"}
						{begin: '^(?:[^"\\\\]|""|\\\\(?!").)*\\\\$\\n', end: "^"}
					]}
					{name: "markup.italic.roff", match: '^(?:[^\\\\"]|""|\\\\[^"])+(?<!\\\\)"'}
					{name: "markup.plain.roff", begin: '[ \\t]+(?!\\\\?")(?:[^\\s"\\\\]|""|\\\\[^"])+\\\\$\\n', end: '(?<!\\\\)$|(?="[ \\t])|(?=\\\\")|(?<!\\\\)(?=[ \\t])'}
					{name: "markup.plain.roff", match: '(?:[ \\t]+|(?<=")(?=[^"]|$))(?!\\\\?")(?:[^\\s"\\\\]|""|\\\\(?!").)+'}
					{name: "markup.italic.roff", begin: "\\\\$\\n", end: "^"}
					{name: "markup.plain.roff", match: '^(?:[^"\\s\\\\]|""|\\\\(?!").)+'}]
			},{
				match: '(?<!\\\\)("(?:[^\\\\"]|""|\\\\(?!").)*")[ \t]+("(?:[^\\\\"]|""|\\\\(?!").)*(?:(?=[^"\\\\]$)|"))'
				captures:
					1: name: "markup.italic.roff"
					2: name: "markup.plain.roff"
			},{
				begin: '(?<!\\\\)("(?:[^"]|"")*"|(?:[^\\s\\\\]|\\\\.)+)[ \t]+("(?:[^"]|"")*\\\\$\\n)'
				patterns: [
					{name: "markup.plain.roff", match: '^(?:[^"]|"")*\\\\$\\n'}
					{name: "constant.character.escape.quote.double.roff", match: '""'}
				]
				end: '$|(?:[^"\\\\]|""|\\\\(?!").)*(?:(?=\\\\")|\\s*"(?=$|[^"]))'
				beginCaptures:
					1: name: "markup.italic.roff"
					2: name: "markup.plain.roff"
