 			patterns: [{include: "$self"}]
 		}]
 	
+
+	# Underlined passages
+	underlines:
+		patterns: [{
+			
+			# .ul 0: Empty request/noop
+			name: "meta.request.ul.roff"
+			begin: "^([.'])[ \t]*(ul)\\s*(0+)[\\D]*(?=\\s|$)"
+			end: "$"
+			beginCaptures:
+				1: {name: "punctuation.definition.function.request.roff"}
+				2: {name: "entity.function.name.roff"}
+				3: {name: "constant.numeric.roff"}
+				4: {patterns: [{include: "#params"}]}
+			
+		}, {
+			name: "meta.request.ul.roff"
+			begin: "^([.'])[ \t]*(ul)(.*?)$\\n"
+			end:   "(?<!\\\\)$"
+			beginCaptures:
+				1: {name: "punctuation.definition.function.request.roff"}
+				2: {name: "entity.function.name.roff"}
+				3: {patterns: [{include: "#params"}]}
+			patterns: [{
+				
+				# Ignore control-lines
+				begin: "^(?=[.'])(.*)$\\n"
+				end:   "^"
+				beginCaptures:
+					1: {patterns: [{include: "$self"}]}
+			}, {
+				name: "markup.underline.roff"
+				begin: "^(?![.'])"
+				end:   "(?<!\\\\)$"
+			}]
+		}]
+	
 	
 	
 	# Escape sequences

		}
		{ include: "#conditionals" }
		{ include: "#definition"   }
		{
			
			# Number register

				4: {name: "entity.name.function.roff"}
				5: {name: "variable.parameter.roff"}
				6: {patterns: [{include: "#params"}]}
		}]
	
	
