mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Fix adding/replacing a grammar (#4097)
* Licensed needs a full path now
* Add docker installed/running guard
* Docker is required for adding/replacing grammars
* Use more elegant method
Hat-tip to @Alhadis 🎩
			
			
This commit is contained in:
		| @@ -28,9 +28,9 @@ To run Linguist from the cloned repository: | |||||||
|  |  | ||||||
| ### Dependencies | ### Dependencies | ||||||
|  |  | ||||||
| Linguist uses the [`charlock_holmes`](https://github.com/brianmario/charlock_holmes) character encoding detection library which in turn uses [ICU](http://site.icu-project.org/), and the libgit2 bindings for Ruby provided by [`rugged`](https://github.com/libgit2/rugged). These components have their own dependencies - `icu4c`, and `cmake` and `pkg-config` respectively - which you may need to install before you can install Linguist. | Linguist uses the [`charlock_holmes`](https://github.com/brianmario/charlock_holmes) character encoding detection library which in turn uses [ICU](http://site.icu-project.org/), and the libgit2 bindings for Ruby provided by [`rugged`](https://github.com/libgit2/rugged). [Docker](https://www.docker.com/) is also required when adding or updating grammars. These components have their own dependencies - `icu4c`, and `cmake` and `pkg-config` respectively - which you may need to install before you can install Linguist. | ||||||
|  |  | ||||||
| For example, on macOS with [Homebrew](http://brew.sh/): `brew install cmake pkg-config icu4c` and on Ubuntu: `apt-get install cmake pkg-config libicu-dev`. | For example, on macOS with [Homebrew](http://brew.sh/): `brew install cmake pkg-config icu4c docker` and on Ubuntu: `apt-get install cmake pkg-config libicu-dev docker-ce`. | ||||||
|  |  | ||||||
| ## Adding an extension to a language | ## Adding an extension to a language | ||||||
|  |  | ||||||
|   | |||||||
| @@ -84,6 +84,10 @@ unless $url | |||||||
|   exit 1; |   exit 1; | ||||||
| end | end | ||||||
|  |  | ||||||
|  | # Exit early if docker isn't installed or running. | ||||||
|  | log "Checking docker is installed and running" | ||||||
|  | command('docker', 'ps') | ||||||
|  |  | ||||||
| # Ensure the given URL is an HTTPS link | # Ensure the given URL is an HTTPS link | ||||||
| parts    = parse_url $url | parts    = parse_url $url | ||||||
| https    = "https://#{parts[:host]}/#{parts[:user]}/#{parts[:repo]}" | https    = "https://#{parts[:host]}/#{parts[:user]}/#{parts[:repo]}" | ||||||
| @@ -107,6 +111,7 @@ log "Confirming license" | |||||||
| if repo_old | if repo_old | ||||||
|   command('script/licensed') |   command('script/licensed') | ||||||
| else | else | ||||||
|  |   repo_new = File.absolute_path(repo_new) | ||||||
|   command('script/licensed', '--module', repo_new) |   command('script/licensed', '--module', repo_new) | ||||||
| end | end | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user