| 
									
										
										
										
											2021-10-21 21:29:10 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Copyright (c) 2021, Sam Atkins <atkinssj@serenityos.org> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * SPDX-License-Identifier: BSD-2-Clause | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <LibSyntax/Highlighter.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace Web::CSS { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SyntaxHighlighter : public Syntax::Highlighter { | 
					
						
							|  |  |  | public: | 
					
						
							|  |  |  |     SyntaxHighlighter() = default; | 
					
						
							|  |  |  |     virtual ~SyntaxHighlighter() override = default; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     virtual bool is_identifier(u64) const override; | 
					
						
							|  |  |  |     virtual bool is_navigatable(u64) const override; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     virtual Syntax::Language language() const override { return Syntax::Language::CSS; } | 
					
						
							| 
									
										
										
										
											2022-10-26 10:01:13 -05:00
										 |  |  |     virtual Optional<StringView> comment_prefix() const override { return "/*"sv; } | 
					
						
							|  |  |  |     virtual Optional<StringView> comment_suffix() const override { return "*/"sv; } | 
					
						
							| 
									
										
										
										
											2021-10-21 21:29:10 +01:00
										 |  |  |     virtual void rehighlight(Palette const&) override; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | protected: | 
					
						
							|  |  |  |     virtual Vector<MatchingTokenPair> matching_token_pairs_impl() const override; | 
					
						
							|  |  |  |     virtual bool token_types_equal(u64, u64) const override; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |