diff options
| author | AdnoC <adam.r.cutler@gmail.com> | 2021-01-04 13:28:26 -0500 |
|---|---|---|
| committer | Thomas Vigouroux <tomvig38@gmail.com> | 2021-04-15 16:56:49 +0200 |
| commit | 4d2813f03b233c8caacc95aa378ec4fc86cede34 (patch) | |
| tree | ca246ddf41ee9154a549e0809b16e4eaab97e0a9 /lua | |
| parent | fix windows check (diff) | |
| download | nvim-treesitter-4d2813f03b233c8caacc95aa378ec4fc86cede34.tar nvim-treesitter-4d2813f03b233c8caacc95aa378ec4fc86cede34.tar.gz nvim-treesitter-4d2813f03b233c8caacc95aa378ec4fc86cede34.tar.bz2 nvim-treesitter-4d2813f03b233c8caacc95aa378ec4fc86cede34.tar.lz nvim-treesitter-4d2813f03b233c8caacc95aa378ec4fc86cede34.tar.xz nvim-treesitter-4d2813f03b233c8caacc95aa378ec4fc86cede34.tar.zst nvim-treesitter-4d2813f03b233c8caacc95aa378ec4fc86cede34.zip | |
use locked revision when downloading via git
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-treesitter/shell_command_selectors.lua | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/lua/nvim-treesitter/shell_command_selectors.lua b/lua/nvim-treesitter/shell_command_selectors.lua index 8c7963584..dea96db77 100644 --- a/lua/nvim-treesitter/shell_command_selectors.lua +++ b/lua/nvim-treesitter/shell_command_selectors.lua @@ -125,11 +125,12 @@ function M.select_download_commands(repo, project_name, cache_folder, revision) local has_curl = vim.fn.executable('curl') == 1 local is_github = repo.url:find("github.com", 1, true) local is_gitlab = repo.url:find("gitlab.com", 1, true) - local is_windows = fn.hs('win32') + local is_windows = fn.has('win32') == 1 + + revision = revision or repo.branch or "master" if has_tar and has_curl and (is_github or is_gitlab) and not is_windows then - revision = revision or repo.branch or "master" local path_sep = utils.get_path_sep() local url = repo.url:gsub('.git$', '') @@ -172,22 +173,46 @@ function M.select_download_commands(repo, project_name, cache_folder, revision) M.select_install_rm_cmd(cache_folder, project_name..'-tmp') } else + local git_folder + if is_windows then + git_folder = cache_folder ..'\\'.. project_name + else + git_folder = cache_folder ..'/'.. project_name + end + + local clone_error = 'Error during download, please verify your internet connection' + if is_windows then + clone_error = clone_error .. ". If on Windows you may need to enable Developer mode" + end + return { { cmd = 'git', info = 'Downloading...', - err = 'Error during download, please verify your internet connection', + err = clone_error, opts = { args = { 'clone', + '-c', 'core.symlinks=true', '--single-branch', '--branch', repo.branch or 'master', - '--depth', '1', repo.url, project_name }, cwd = cache_folder, }, + }, + { + cmd = 'git', + info = 'Checking out locked revision', + err = 'Error while checking out revision', + opts = { + args = { + '-c', 'core.symlinks=true', + 'checkout', revision + }, + cwd = git_folder + } } } end |
