Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Module",
"type": "python",
"request": "launch",
"module": "hyfetch",
"justMyCode": true
}
]
}
13 changes: 12 additions & 1 deletion hyfetch/neofetch_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import subprocess
import sys
import zipfile
import shutil
from dataclasses import dataclass
from pathlib import Path
from subprocess import check_output
Expand Down Expand Up @@ -150,7 +151,6 @@ def get_command_path() -> str:

return cmd_path


def ensure_git_bash() -> Path:
"""
Ensure git bash installation for windows
Expand All @@ -163,6 +163,17 @@ def ensure_git_bash() -> Path:
if def_path.is_file():
return def_path

# Labda expression that finds out if a command exists
cmd_exists = lambda x: shutil.which(x) is not None

# TEMP-FIX: Make git not hard-coded to being installed "officially" via the git-for-windows installer
if ( cmd_exists("git.exe") ):
pth = Path(shutil.which("git")).parent
if(os.path.isfile(pth / r'bash.exe')):
return pth / r'bash.exe'
elif ( os.path.isfile(pth / r'/bin/bash.exe')):
return pth / r'/bin/bash.exe'

# Find installation in PATH (C:\Program Files\Git\cmd should be in path)
pth = (os.environ.get('PATH') or '').lower().split(';')
pth = [p for p in pth if p.endswith(r'\git\cmd')]
Expand Down