 			patterns: [{include: "#params"}]
 		},{
 			
+			# Headers and footers
+			name: "meta.function.${2:/downcase}.ms.macro.roff"
+			contentName: "function-call.arguments.roff"
+			begin: "^([.'])[ \t]*([EO][FH])\\b"
+			end:   "(?<!\\\\)(?=\n)|(?=\\\\\")"
+			beginCaptures:
+				1: {name: "punctuation.definition.macro.roff"}
+				2: {name: "entity.function.name.roff"}
+			patterns: [
+				{include: "#3-part-title"}
+				{include: "#escapes"}
+				{include: "#string"}
+			]
+		},{
 			# Reference
 			name: "meta.function.reference.ms.macro.roff"
 			begin: "^([.'])[ \t]*(\\[)\\s*(\\\\\".*)?$"

		]
	
	
	
	# Requests
	requests:

				4: {name: "entity.name.function.roff"}
				5: {name: "variable.parameter.roff"}
				6: {patterns: [{include: "#params"}]}
		},{
			
			# Three-part title
			name: "meta.function.request.$2.roff"
			begin: "^([.'])[ \t]*(tl)\\b"
			end:   "(?<!\\\\)$|(?=\\\\\")"
			beginCaptures:
				1: {name: "punctuation.definition.request.roff"}
				2: {name: "entity.function.name.roff"}
			contentName: "function-call.arguments.roff"
			patterns: [
				{include: "#3-part-title"}
				{include: "#escapes"}
				{include: "#string"}
			]
		}]
	
	
