| 'use strict' | 
|   | 
| const execGit = require('./execGit') | 
|   | 
| module.exports = async function getStagedFiles(options) { | 
|   try { | 
|     // Docs for --diff-filter option: https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203 | 
|     // Docs for -z option: https://git-scm.com/docs/git-diff#Documentation/git-diff.txt--z | 
|     const lines = await execGit( | 
|       ['diff', '--staged', '--diff-filter=ACMR', '--name-only', '-z'], | 
|       options | 
|     ) | 
|     // With `-z`, git prints `fileA\u0000fileB\u0000fileC\u0000` so we need to remove the last occurrence of `\u0000` before splitting | 
|     // eslint-disable-next-line no-control-regex | 
|     return lines ? lines.replace(/\u0000$/, '').split('\u0000') : [] | 
|   } catch { | 
|     return null | 
|   } | 
| } |