mirror of
				https://github.com/alecthomas/chroma.git
				synced 2025-10-30 23:57:49 +02:00 
			
		
		
		
	Split out chromad resources.
This commit is contained in:
		
							
								
								
									
										46
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								README.md
									
									
									
									
									
								
							| @@ -8,25 +8,29 @@ highlighted HTML, ANSI-coloured text, etc. | ||||
| Chroma is based heavily on [Pygments](http://pygments.org/), and includes | ||||
| translators for Pygments lexers and styles. | ||||
|  | ||||
| <a id="markdown-table-of-contents" name="table-of-contents"></a> | ||||
| ## Table of Contents | ||||
|  | ||||
| <!-- MarkdownTOC --> | ||||
| <!-- TOC --> | ||||
|  | ||||
| 1. [Supported languages](#supported-languages) | ||||
| 1. [Using the library](#using-the-library) | ||||
| 1. [Table of Contents](#table-of-contents) | ||||
| 2. [Supported languages](#supported-languages) | ||||
| 3. [Try it](#try-it) | ||||
| 4. [Using the library](#using-the-library) | ||||
|     1. [Quick start](#quick-start) | ||||
|     1. [Identifying the language](#identifying-the-language) | ||||
|     1. [Formatting the output](#formatting-the-output) | ||||
|     1. [The HTML formatter](#the-html-formatter) | ||||
| 1. [More detail](#more-detail) | ||||
|     2. [Identifying the language](#identifying-the-language) | ||||
|     3. [Formatting the output](#formatting-the-output) | ||||
|     4. [The HTML formatter](#the-html-formatter) | ||||
| 5. [More detail](#more-detail) | ||||
|     1. [Lexers](#lexers) | ||||
|     1. [Formatters](#formatters) | ||||
|     1. [Styles](#styles) | ||||
| 1. [Command-line interface](#command-line-interface) | ||||
| 1. [What's missing compared to Pygments?](#whats-missing-compared-to-pygments) | ||||
|     2. [Formatters](#formatters) | ||||
|     3. [Styles](#styles) | ||||
| 6. [Command-line interface](#command-line-interface) | ||||
| 7. [What's missing compared to Pygments?](#whats-missing-compared-to-pygments) | ||||
|  | ||||
| <!-- /MarkdownTOC --> | ||||
| <!-- /TOC --> | ||||
|  | ||||
| <a id="markdown-supported-languages" name="supported-languages"></a> | ||||
| ## Supported languages | ||||
|  | ||||
| Prefix | Language | ||||
| @@ -60,6 +64,12 @@ Y | YAML | ||||
| _I will attempt to keep this section up to date, but an authoritative list can be | ||||
| displayed with `chroma --list`._ | ||||
|  | ||||
| <a id="markdown-try-it" name="try-it"></a> | ||||
| ## Try it | ||||
|  | ||||
| Try out various languages and styles on the [Chroma Playground](https://swapoff.org/chroma/playground/). | ||||
|  | ||||
| <a id="markdown-using-the-library" name="using-the-library"></a> | ||||
| ## Using the library | ||||
|  | ||||
| Chroma, like Pygments, has the concepts of | ||||
| @@ -80,6 +90,7 @@ In all cases, if a lexer, formatter or style can not be determined, `nil` will | ||||
| be returned. In this situation you may want to default to the `Fallback` | ||||
| value in each respective package, which provides sane defaults. | ||||
|  | ||||
| <a id="markdown-quick-start" name="quick-start"></a> | ||||
| ### Quick start | ||||
|  | ||||
| A convenience function exists that can be used to simply format some source | ||||
| @@ -89,6 +100,7 @@ text, without any effort: | ||||
| err := quick.Highlight(os.Stdout, someSourceCode, "go", "html", "monokai") | ||||
| ``` | ||||
|  | ||||
| <a id="markdown-identifying-the-language" name="identifying-the-language"></a> | ||||
| ### Identifying the language | ||||
|  | ||||
| To highlight code, you'll first have to identify what language the code is | ||||
| @@ -128,6 +140,7 @@ token types into a single token: | ||||
| lexer = chroma.Coalesce(lexer) | ||||
| ``` | ||||
|  | ||||
| <a id="markdown-formatting-the-output" name="formatting-the-output"></a> | ||||
| ### Formatting the output | ||||
|  | ||||
| Once a language is identified you will need to pick a formatter and a style (theme). | ||||
| @@ -156,6 +169,7 @@ And finally, format the tokens from the iterator: | ||||
| err := formatter.Format(w, style, iterator) | ||||
| ``` | ||||
|  | ||||
| <a id="markdown-the-html-formatter" name="the-html-formatter"></a> | ||||
| ### The HTML formatter | ||||
|  | ||||
| By default the `html` registered formatter generates standalone HTML with | ||||
| @@ -179,8 +193,10 @@ formatter := html.New(html.WithClasses()) | ||||
| err := formatter.WriteCSS(w, style) | ||||
| ``` | ||||
|  | ||||
| <a id="markdown-more-detail" name="more-detail"></a> | ||||
| ## More detail | ||||
|  | ||||
| <a id="markdown-lexers" name="lexers"></a> | ||||
| ### Lexers | ||||
|  | ||||
| See the [Pygments documentation](http://pygments.org/docs/lexerdevelopment/) | ||||
| @@ -201,6 +217,7 @@ python3 ~/Projects/chroma/_tools/pygments2chroma.py \ | ||||
| See notes in [pygments-lexers.go](https://github.com/alecthomas/chroma/blob/master/pygments-lexers.txt) | ||||
| for a list of lexers, and notes on some of the issues importing them. | ||||
|  | ||||
| <a id="markdown-formatters" name="formatters"></a> | ||||
| ### Formatters | ||||
|  | ||||
| Chroma supports HTML output, as well as terminal output in 8 colour, 256 colour, and true-colour. | ||||
| @@ -208,13 +225,14 @@ Chroma supports HTML output, as well as terminal output in 8 colour, 256 colour, | ||||
| A `noop` formatter is included that outputs the token text only, and a `tokens` | ||||
| formatter outputs raw tokens. The latter is useful for debugging lexers. | ||||
|  | ||||
| <a id="markdown-styles" name="styles"></a> | ||||
| ### Styles | ||||
|  | ||||
| Chroma styles use the [same syntax](http://pygments.org/docs/styles/) as Pygments. | ||||
|  | ||||
| All Pygments styles have been converted to Chroma using the `_tools/style.py` script. | ||||
|  | ||||
| When you work with one of [Chroma's styles](https://github.com/alecthomas/chroma/tree/master/styles), know that the `chroma.Background` token type provides the default style for tokens. It does so by defining a foreground color and background color.  | ||||
| When you work with one of [Chroma's styles](https://github.com/alecthomas/chroma/tree/master/styles), know that the `chroma.Background` token type provides the default style for tokens. It does so by defining a foreground color and background color. | ||||
|  | ||||
| For example, this gives each token name not defined in the style a default color of `#f8f8f8` and uses `#000000` for the highlighted code block's background: | ||||
|  | ||||
| @@ -226,6 +244,7 @@ Also, token types in a style file are hierarchical. For instance, when `CommentS | ||||
|  | ||||
| For a quick overview of the available styles and how they look, check out the [Chroma Style Gallery](https://xyproto.github.io/splash/docs/). | ||||
|  | ||||
| <a id="markdown-command-line-interface" name="command-line-interface"></a> | ||||
| ## Command-line interface | ||||
|  | ||||
| A command-line interface to Chroma is included. It can be installed with: | ||||
| @@ -234,6 +253,7 @@ A command-line interface to Chroma is included. It can be installed with: | ||||
| go get -u github.com/alecthomas/chroma/cmd/chroma | ||||
| ``` | ||||
|  | ||||
| <a id="markdown-whats-missing-compared-to-pygments" name="whats-missing-compared-to-pygments"></a> | ||||
| ## What's missing compared to Pygments? | ||||
|  | ||||
| - Quite a few lexers, for various reasons (pull-requests welcome): | ||||
|   | ||||
| @@ -7,7 +7,9 @@ import ( | ||||
| 	"sort" | ||||
| 	"strings" | ||||
|  | ||||
| 	rice "github.com/GeertJohan/go.rice" | ||||
| 	"github.com/alecthomas/kong" | ||||
| 	"github.com/gorilla/mux" | ||||
|  | ||||
| 	"github.com/alecthomas/chroma" | ||||
| 	"github.com/alecthomas/chroma/formatters/html" | ||||
| @@ -15,86 +17,12 @@ import ( | ||||
| 	"github.com/alecthomas/chroma/styles" | ||||
| ) | ||||
|  | ||||
| var htmlTemplate = template.Must(template.New("html").Parse(` | ||||
| <!doctype html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>Chroma Playground</title> | ||||
|     <!-- other stuff here --> | ||||
|     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.5/css/bulma.min.css" /> | ||||
| 	<style> | ||||
| 		textarea { | ||||
| 			font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace; | ||||
| 		} | ||||
| 		#output { | ||||
| 			{{.Background}} | ||||
| 		} | ||||
| 		#output pre { | ||||
| 			padding: 0; | ||||
| 		} | ||||
| 	</style> | ||||
| </head> | ||||
| <body> | ||||
| <div class="container"> | ||||
| 	{{if .Error}}<div class="notification">{{.Error}}</div>{{end}} | ||||
| var ( | ||||
| 	templateFiles = rice.MustFindBox("templates") | ||||
| 	staticFiles   = rice.MustFindBox("static") | ||||
|  | ||||
| <h1 class="title">Chroma Playground</h1> | ||||
|  | ||||
| <form method="post"> | ||||
| 	<div class="columns"> | ||||
| 		<div class="column field"> | ||||
| 			<label class="label">Language</label> | ||||
| 			<div class="control"> | ||||
| 				<div class="select"> | ||||
| 					<select name="language"> | ||||
| 						<option value="" disabled{{if eq "" $.SelectedLanguage}} selected{{end}}>Language</option> | ||||
| 					{{- range .Languages}} | ||||
| 						<option value="{{.}}"{{if eq . $.SelectedLanguage}} selected{{end}}>{{.}}</option> | ||||
| 					{{end -}} | ||||
| 					</select> | ||||
| 				</div> | ||||
| 			</div> | ||||
| 		</div> | ||||
|  | ||||
| 		<div class="column field"> | ||||
| 			<label class="label">Style</label> | ||||
| 			<div class="control"> | ||||
| 				<div class="select"> | ||||
| 					<select name="style"> | ||||
| 						<option value="" disabled{{if eq "" $.SelectedStyle}} selected{{end}}>Style</option> | ||||
| 					{{- range .Styles}} | ||||
| 						<option value="{{.}}"{{if eq . $.SelectedStyle}} selected{{end}}>{{.}}</option> | ||||
| 					{{end -}} | ||||
| 					</select> | ||||
| 				</div> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 	</div> | ||||
|  | ||||
| 	<div class="field"> | ||||
| 		<label class="label">Code</label> | ||||
| 		<div class="control"> | ||||
| 			<textarea class="textarea" name="text" rows="25" cols="80">{{.Text}}</textarea> | ||||
| 		</div> | ||||
| 	</div> | ||||
|  | ||||
| 	<div class="field"> | ||||
| 		<div class="control"> | ||||
| 			<button class="button is-link">Submit</button> | ||||
| 		</div> | ||||
| 	</div> | ||||
|  | ||||
| 	<hr> | ||||
|  | ||||
| 	<label class="label">Output</label> | ||||
| 	<div class="field box" id="output"> | ||||
| 		{{.HTML}} | ||||
| 	</div> | ||||
| </form> | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| `)) | ||||
| 	htmlTemplate = template.Must(template.New("html").Parse(templateFiles.MustString("index.html.tmpl"))) | ||||
| ) | ||||
|  | ||||
| var cli struct { | ||||
| 	Bind string `help:"HTTP bind address." default:"127.0.0.1:8080"` | ||||
| @@ -178,6 +106,11 @@ func contextFromRequest(r *http.Request) context { | ||||
| func main() { | ||||
| 	ctx := kong.Parse(&cli) | ||||
| 	log.Println("Starting") | ||||
| 	err := http.ListenAndServe(cli.Bind, http.HandlerFunc(handler)) | ||||
|  | ||||
| 	router := mux.NewRouter() | ||||
| 	router.Handle("/", http.HandlerFunc(handler)) | ||||
| 	router.Handle("/static/{file:.*}", http.StripPrefix("/static/", http.FileServer(staticFiles.HTTPBox()))) | ||||
|  | ||||
| 	err := http.ListenAndServe(cli.Bind, router) | ||||
| 	ctx.FatalIfErrorf(err) | ||||
| } | ||||
|   | ||||
							
								
								
									
										7
									
								
								cmd/chromad/static/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								cmd/chromad/static/index.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| document.addEventListener("DOMContentLoaded", function () { | ||||
|     var form = document.getElementById('chroma'); | ||||
|     var elms = document.getElementsByTagName("select"); | ||||
|     for (e of elms) { | ||||
|         e.addEventListener('change', () => form.submit()); | ||||
|     } | ||||
| }); | ||||
							
								
								
									
										80
									
								
								cmd/chromad/templates/index.html.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								cmd/chromad/templates/index.html.tmpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,80 @@ | ||||
| <!doctype html> | ||||
| <html> | ||||
| <head> | ||||
|   <title>Chroma Playground</title> | ||||
|   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.5/css/bulma.min.css"/> | ||||
|   <style> | ||||
|     textarea { | ||||
|       font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace; | ||||
|     } | ||||
|  | ||||
|     #output { | ||||
|     {{.Background}} | ||||
|     } | ||||
|  | ||||
|     #output pre { | ||||
|       padding: 0; | ||||
|     } | ||||
|   </style> | ||||
|   <script src="static/index.js"></script> | ||||
| </head> | ||||
| <body> | ||||
| <div class="container"> | ||||
|   {{if .Error}}<div class="notification">{{.Error}}</div>{{end}} | ||||
|  | ||||
|   <h1 class="title">Chroma Playground</h1> | ||||
|  | ||||
|   <form id="chroma" method="post"> | ||||
|     <div class="columns"> | ||||
|       <div class="column field"> | ||||
|         <label class="label">Language</label> | ||||
|         <div class="control"> | ||||
|           <div class="select"> | ||||
|             <select name="language"> | ||||
|               <option value="" disabled{{if eq "" $.SelectedLanguage}} selected{{end}}>Language</option> | ||||
|               {{- range .Languages}} | ||||
|                 <option value="{{.}}"{{if eq . $.SelectedLanguage}} selected{{end}}>{{.}}</option> | ||||
|               {{- end}} | ||||
|             </select> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|  | ||||
|       <div class="column field"> | ||||
|         <label class="label">Style</label> | ||||
|         <div class="control"> | ||||
|           <div class="select"> | ||||
|             <select name="style"> | ||||
|               <option value="" disabled{{if eq "" $.SelectedStyle}} selected{{end}}>Style</option> | ||||
|               {{- range .Styles}} | ||||
|                 <option value="{{.}}"{{if eq . $.SelectedStyle}} selected{{end}}>{{.}}</option> | ||||
|               {{- end}} | ||||
|             </select> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|  | ||||
|     <div class="field"> | ||||
|       <label class="label">Code</label> | ||||
|       <div class="control"> | ||||
|         <textarea class="textarea" name="text" rows="25" cols="80">{{.Text}}</textarea> | ||||
|       </div> | ||||
|     </div> | ||||
|  | ||||
|     <div class="field"> | ||||
|       <div class="control"> | ||||
|         <button class="button is-link">Submit</button> | ||||
|       </div> | ||||
|     </div> | ||||
|  | ||||
|     <hr> | ||||
|  | ||||
|     <label class="label">Output</label> | ||||
|     <div class="field box" id="output"> | ||||
|       {{.HTML}} | ||||
|     </div> | ||||
|   </form> | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										5
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								go.mod
									
									
									
									
									
								
							| @@ -1,13 +1,14 @@ | ||||
| module github.com/alecthomas/chroma | ||||
|  | ||||
| require ( | ||||
| 	github.com/GeertJohan/go.rice v1.0.0 | ||||
| 	github.com/alecthomas/assert v0.0.0-20170929043011-405dbfeb8e38 | ||||
| 	github.com/alecthomas/colour v0.0.0-20160524082231-60882d9e2721 // indirect | ||||
| 	github.com/alecthomas/kong v0.1.15 | ||||
| 	github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897 | ||||
| 	github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897 // indirect | ||||
| 	github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 | ||||
| 	github.com/dlclark/regexp2 v1.1.6 | ||||
| 	github.com/elliotchance/pepper v0.5.0 // indirect | ||||
| 	github.com/gorilla/mux v1.7.3 | ||||
| 	github.com/mattn/go-colorable v0.0.9 | ||||
| 	github.com/mattn/go-isatty v0.0.4 | ||||
| 	github.com/sergi/go-diff v1.0.0 // indirect | ||||
|   | ||||
							
								
								
									
										21
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								go.sum
									
									
									
									
									
								
							| @@ -1,4 +1,7 @@ | ||||
| github.com/PuerkitoBio/goquery v1.5.0/go.mod h1:qD2PgZ9lccMbQlc7eEOjaeRlFQON7xY8kdmcsrnKqMg= | ||||
| github.com/GeertJohan/go.incremental v1.0.0/go.mod h1:6fAjUhbVuX1KcMD3c8TEgVUqmo4seqhv0i0kdATSkM0= | ||||
| github.com/GeertJohan/go.rice v1.0.0 h1:KkI6O9uMaQU3VEKaj01ulavtF7o1fWT7+pk/4voiMLQ= | ||||
| github.com/GeertJohan/go.rice v1.0.0/go.mod h1:eH6gbSOAUv07dQuZVnBmoDP8mgsM1rtixis4Tib9if0= | ||||
| github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= | ||||
| github.com/alecthomas/assert v0.0.0-20170929043011-405dbfeb8e38 h1:smF2tmSOzy2Mm+0dGI2AIUHY+w0BUc+4tn40djz7+6U= | ||||
| github.com/alecthomas/assert v0.0.0-20170929043011-405dbfeb8e38/go.mod h1:r7bzyVFMNntcxPZXK3/+KdruV1H5KSlyVY0gc+NgInI= | ||||
| github.com/alecthomas/colour v0.0.0-20160524082231-60882d9e2721 h1:JHZL0hZKJ1VENNfmXvHbgYlbUOvpzYzvy2aZU5gXVeo= | ||||
| @@ -7,7 +10,8 @@ github.com/alecthomas/kong v0.1.15 h1:IWBg+KrLvoHBicD50OzMI8fKjrtAa1okMR9g38HVM/ | ||||
| github.com/alecthomas/kong v0.1.15/go.mod h1:0m2VYms8rH0qbCqVB2gvGHk74bqLIq0HXjCs5bNbNQU= | ||||
| github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897 h1:p9Sln00KOTlrYkxI1zYWl1QLnEqAqEARBEYa8FQnQcY= | ||||
| github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897/go.mod h1:xTS7Pm1pD1mvyM075QCDSRqH6qRLXylzS24ZTpRiSzQ= | ||||
| github.com/andybalholm/cascadia v1.0.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= | ||||
| github.com/daaku/go.zipexe v1.0.0 h1:VSOgZtH418pH9L16hC/JrgSNJbbAL26pj7lmD1+CGdY= | ||||
| github.com/daaku/go.zipexe v1.0.0/go.mod h1:z8IiR6TsVLEYKwXAoE/I+8ys/sDkgTzSL0CLnGVd57E= | ||||
| github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 h1:y5HC9v93H5EPKqaS1UYVg1uYah5Xf51mBfIoWehClUQ= | ||||
| github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964/go.mod h1:Xd9hchkHSWYkEqJwUGisez3G1QY8Ryz0sdWrLPMGjLk= | ||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| @@ -15,25 +19,24 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c | ||||
| github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/dlclark/regexp2 v1.1.6 h1:CqB4MjHw0MFCDj+PHHjiESmHX+N7t0tJzKvC6M97BRg= | ||||
| github.com/dlclark/regexp2 v1.1.6/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= | ||||
| github.com/elliotchance/pepper v0.5.0 h1:ZwjtgTvqM43Z6Rxla47peIKDo+/ec5zTpQADbXoa3q0= | ||||
| github.com/elliotchance/pepper v0.5.0/go.mod h1:m8ad8rNGcEp8pvLUgqCFPRO38n7QCEpuZStlGT1owf4= | ||||
| github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q= | ||||
| github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= | ||||
| github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= | ||||
| github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= | ||||
| github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= | ||||
| github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4= | ||||
| github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= | ||||
| github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs= | ||||
| github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= | ||||
| github.com/nkovacs/streamquote v0.0.0-20170412213628-49af9bddb229/go.mod h1:0aYXnNPJ8l7uZxf45rWW1a/uME32OF0rhiYGNQ2oF2E= | ||||
| github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||
| github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ= | ||||
| github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= | ||||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||
| github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= | ||||
| github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= | ||||
| github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= | ||||
| github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= | ||||
| github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | ||||
| golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||
| golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||
| github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= | ||||
| github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= | ||||
| golang.org/x/sys v0.0.0-20181128092732-4ed8d59d0b35 h1:YAFjXN64LMvktoUZH9zgY4lGc/msGN7HQfoSuKCgaDU= | ||||
| golang.org/x/sys v0.0.0-20181128092732-4ed8d59d0b35/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||
|   | ||||
		Reference in New Issue
	
	Block a user