@ -1,8 +1,8 @@
""" Format C code according to QMK ' s style.
""" Format C code according to QMK ' s style.
"""
"""
import subprocess
from os import path
from os import path
from shutil import which
from shutil import which
from subprocess import CalledProcessError , DEVNULL , Popen , PIPE
from argcomplete . completers import FilesCompleter
from argcomplete . completers import FilesCompleter
from milc import cli
from milc import cli
@ -34,7 +34,7 @@ def find_diffs(files):
for file in files :
for file in files :
cli . log . debug ( ' Checking for changes in %s ' , file )
cli . log . debug ( ' Checking for changes in %s ' , file )
clang_format = subprocess . Popen ( [ find_clang_format ( ) , file ] , stdout = subprocess . PIPE , stderr = subprocess . PIPE , universal_newlines = True )
clang_format = Popen ( [ find_clang_format ( ) , file ] , stdout = PIPE , stderr = PIPE , universal_newlines = True )
diff = cli . run ( [ ' diff ' , ' -u ' , f ' --label=a/ { file } ' , f ' --label=b/ { file } ' , str ( file ) , ' - ' ] , stdin = clang_format . stdout , capture_output = True )
diff = cli . run ( [ ' diff ' , ' -u ' , f ' --label=a/ { file } ' , f ' --label=b/ { file } ' , str ( file ) , ' - ' ] , stdin = clang_format . stdout , capture_output = True )
if diff . returncode != 0 :
if diff . returncode != 0 :
@ -51,11 +51,11 @@ def cformat_run(files):
clang_format = [ find_clang_format ( ) , ' -i ' ]
clang_format = [ find_clang_format ( ) , ' -i ' ]
try :
try :
cli . run ( clang_format + list ( map ( str , files ) ) , check = True , capture_output = False )
cli . run ( [ * clang_format , * map ( str , files ) ] , check = True , capture_output = False , stdin = DEVNULL )
cli . log . info ( ' Successfully formatted the C code. ' )
cli . log . info ( ' Successfully formatted the C code. ' )
return True
return True
except subprocess . CalledProcessError as e :
except CalledProcessError as e :
cli . log . error ( ' Error formatting C code! ' )
cli . log . error ( ' Error formatting C code! ' )
cli . log . debug ( ' %s exited with returncode %s ' , e . cmd , e . returncode )
cli . log . debug ( ' %s exited with returncode %s ' , e . cmd , e . returncode )
cli . log . debug ( ' STDOUT: ' )
cli . log . debug ( ' STDOUT: ' )
@ -111,7 +111,7 @@ def cformat(cli):
else :
else :
git_diff_cmd = [ ' git ' , ' diff ' , ' --name-only ' , cli . args . base_branch , * core_dirs ]
git_diff_cmd = [ ' git ' , ' diff ' , ' --name-only ' , cli . args . base_branch , * core_dirs ]
git_diff = cli . run ( git_diff_cmd )
git_diff = cli . run ( git_diff_cmd , stdin = DEVNULL )
if git_diff . returncode != 0 :
if git_diff . returncode != 0 :
cli . log . error ( " Error running %s " , git_diff_cmd )
cli . log . error ( " Error running %s " , git_diff_cmd )