(define (update-index . args) (git "update-index" (string-join args)))
 
 (define (modified-files) (map cdr (ls-files "-m")))
-(define (skipped-files) (map cdr (filter (λ (pair) (equal? "S" (car pair))) (ls-files))))
+(define (skipped-files) (map cdr (ls-files "|" "findstr" "\"^S\"")))
 
 (define (skip-file file) (update-index "--skip-worktree" (file-string file)))
 (define (no-skip-file file) (update-index "--no-skip-worktree" (file-string file)))
 
 (define (program-skip-file file)
   (displayln (format "Skipping file: '~a'" file))
-  (skip-file file)
-  (program-display-file-status))
+  (skip-file file))
 
 (define (program-no-skip-file file)
   (displayln (format "Unskipping file: '~a'" file))
-  (no-skip-file file)
-  (program-display-file-status))
+  (no-skip-file file))
 
 (define (program-no-skip-all)
   (displayln "Unskipping every file")
-  (no-skip-all)
-  (program-display-file-status))
+  (no-skip-all))
 
 (define (program-skip-modified)
   (displayln "Skipping every modified file")
-  (skip-modified)
-  (program-display-file-status))
+  (skip-modified))
 
 (define (program-interactive)
   (displayln "Interactive mode")