Skip to content

Commit

Permalink
Trim trailing whitespace parsing cabal.project
Browse files Browse the repository at this point in the history
Fixes #2252
  • Loading branch information
hamishmack committed Sep 24, 2024
1 parent 93f0d48 commit 7df6d10
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion lib/cabal-project-parser.nix
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ let
let
# Look for a new attribute name
pair = builtins.match "([^ :]*): *(.*)" s;
trim = x: let m = builtins.match "(.*[^ \t])[ \t]*" x;
in pkgs.lib.optionalString (m != null) (builtins.head m);

# Function to build the next parse state when the attribute name is known
nextState = name: value: {
Expand All @@ -62,7 +64,7 @@ let
if pair != null
then
# First line of a new attribute
nextState (builtins.head pair) (builtins.elemAt pair 1)
nextState (builtins.head pair) (trim (builtins.elemAt pair 1))
else
if name != null
then nextState name s # Append another line to the current attribute
Expand Down

0 comments on commit 7df6d10

Please sign in to comment.