alpha
Login
or
Join now
nandi.uk
/
gleam
Star
2
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Fork of daniellemaywood.uk/gleam — Wasm codegen work
Star
2
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
single letter lambda args
author
Giacomo Cavalieri
committer
Louis Pilfold
date
1 year ago
(Mar 16, 2025, 11:29 PM UTC)
commit
2b7f0ef6
2b7f0ef685e5d5e41f43bd57709a4698d93dd0f4
parent
ea2c111b
ea2c111b4a610a80737b9f9b5c1fc2303ce91ed1
+53
-25
7 changed files
Expand all
Collapse all
Unified
Split
compiler-cli
src
fs.rs
compiler-core
src
ast
typed.rs
ast_folder.rs
config.rs
format.rs
language_server
server.rs
test-helpers-rs
src
lib.rs
+30
-10
compiler-cli/src/fs.rs
View file
Reviewed
···
397
397
ignore::WalkBuilder::new(dir)
398
398
.follow_links(true)
399
399
.standard_filters(false)
400
400
-
.filter_entry(|e| !is_gleam_build_dir(e))
400
400
+
.filter_entry(|entry| !is_gleam_build_dir(entry))
401
401
.build()
402
402
.filter_map(Result::ok)
403
403
-
.filter(|e| e.file_type().map(|t| t.is_file()).unwrap_or(false))
403
403
+
.filter(|entry| {
404
404
+
entry
405
405
+
.file_type()
406
406
+
.map(|type_| type_.is_file())
407
407
+
.unwrap_or(false)
408
408
+
})
404
409
.map(ignore::DirEntry::into_path)
405
405
-
.map(|pb| Utf8PathBuf::from_path_buf(pb).expect("Non Utf-8 Path"))
410
410
+
.map(|path| Utf8PathBuf::from_path_buf(path).expect("Non Utf-8 Path"))
406
411
.filter(move |d| is_gleam_path(d, dir))
407
412
}
408
413
···
412
417
ignore::WalkBuilder::new(dir)
413
418
.follow_links(true)
414
419
.standard_filters(false)
415
415
-
.filter_entry(|e| !is_gleam_build_dir(e))
420
420
+
.filter_entry(|entry| !is_gleam_build_dir(entry))
416
421
.build()
417
422
.filter_map(Result::ok)
418
418
-
.filter(|e| e.file_type().map(|t| t.is_file()).unwrap_or(false))
423
423
+
.filter(|entry| {
424
424
+
entry
425
425
+
.file_type()
426
426
+
.map(|type_| type_.is_file())
427
427
+
.unwrap_or(false)
428
428
+
})
419
429
.map(ignore::DirEntry::into_path)
420
420
-
.map(|pb| Utf8PathBuf::from_path_buf(pb).expect("Non Utf-8 Path"))
430
430
+
.map(|path| Utf8PathBuf::from_path_buf(path).expect("Non Utf-8 Path"))
421
431
.filter(|path| {
422
432
let extension = path.extension().unwrap_or_default();
423
433
is_native_file_extension(extension)
···
431
441
.standard_filters(false)
432
442
.build()
433
443
.filter_map(Result::ok)
434
434
-
.filter(|e| e.file_type().map(|t| t.is_file()).unwrap_or(false))
444
444
+
.filter(|entry| {
445
445
+
entry
446
446
+
.file_type()
447
447
+
.map(|type_| type_.is_file())
448
448
+
.unwrap_or(false)
449
449
+
})
435
450
.map(ignore::DirEntry::into_path)
436
436
-
.map(|pb| Utf8PathBuf::from_path_buf(pb).expect("Non Utf-8 Path"))
451
451
+
.map(|path| Utf8PathBuf::from_path_buf(path).expect("Non Utf-8 Path"))
437
452
}
438
453
439
454
/// Walks through all `.erl` and `.hrl` files in the directory, even if ignored.
···
443
458
.standard_filters(false)
444
459
.build()
445
460
.filter_map(Result::ok)
446
446
-
.filter(|e| e.file_type().map(|t| t.is_file()).unwrap_or(false))
461
461
+
.filter(|entry| {
462
462
+
entry
463
463
+
.file_type()
464
464
+
.map(|type_| type_.is_file())
465
465
+
.unwrap_or(false)
466
466
+
})
447
467
.map(ignore::DirEntry::into_path)
448
448
-
.map(|pb| Utf8PathBuf::from_path_buf(pb).expect("Non Utf-8 Path"))
468
468
+
.map(|path| Utf8PathBuf::from_path_buf(path).expect("Non Utf-8 Path"))
449
469
.filter(|path| {
450
470
let extension = path.extension().unwrap_or_default();
451
471
extension == "erl" || extension == "hrl"
+2
-2
compiler-core/src/ast/typed.rs
View file
Reviewed
···
234
234
235
235
Self::Echo { expression, .. } => expression
236
236
.as_ref()
237
237
-
.and_then(|e| e.find_node(byte_index))
237
237
+
.and_then(|expression| expression.find_node(byte_index))
238
238
.or_else(|| self.self_if_contains_location(byte_index)),
239
239
240
240
Self::Todo { kind, .. } => match kind {
···
490
490
491
491
Self::Echo { expression, .. } => expression
492
492
.as_ref()
493
493
-
.and_then(|e| e.find_statement(byte_index)),
493
493
+
.and_then(|expression| expression.find_statement(byte_index)),
494
494
495
495
Self::BitArray { segments, .. } => segments
496
496
.iter()
+4
-1
compiler-core/src/ast_folder.rs
View file
Reviewed
···
414
414
elements,
415
415
tail,
416
416
} => {
417
417
-
let elements = elements.into_iter().map(|e| self.fold_expr(e)).collect();
417
417
+
let elements = elements
418
418
+
.into_iter()
419
419
+
.map(|element| self.fold_expr(element))
420
420
+
.collect();
418
421
let tail = tail.map(|e| Box::new(self.fold_expr(*e)));
419
422
UntypedExpr::List {
420
423
location,
+4
-1
compiler-core/src/config.rs
View file
Reviewed
···
551
551
version: Version::parse(version).unwrap(),
552
552
build_tools: vec![],
553
553
otp_app: None,
554
554
-
requirements: requirements.iter().map(|e| (*e).into()).collect(),
554
554
+
requirements: requirements
555
555
+
.iter()
556
556
+
.map(|requirement| (*requirement).into())
557
557
+
.collect(),
555
558
source: crate::manifest::ManifestPackageSource::Hex {
556
559
outer_checksum: Base16Checksum(vec![]),
557
560
},
+10
-8
compiler-core/src/format.rs
View file
Reviewed
···
394
394
let unqualified_types = unqualified_types
395
395
.iter()
396
396
.sorted_by(|a, b| a.name.cmp(&b.name))
397
397
-
.map(|e| docvec!["type ", e]);
397
397
+
.map(|type_| docvec!["type ", type_]);
398
398
let unqualified_values = unqualified_values
399
399
.iter()
400
400
.sorted_by(|a, b| a.name.cmp(&b.name))
401
401
-
.map(|e| e.to_doc());
401
401
+
.map(|value| value.to_doc());
402
402
let unqualified = join(
403
403
unqualified_types.chain(unqualified_values),
404
404
flex_break(",", ", "),
···
475
475
} => {
476
476
let segment_docs = segments
477
477
.iter()
478
478
-
.map(|s| bit_array_segment(s, |e| self.const_expr(e)))
478
478
+
.map(|segment| bit_array_segment(segment, |e| self.const_expr(e)))
479
479
.collect_vec();
480
480
481
481
self.bit_array(
···
802
802
let args = function
803
803
.arguments
804
804
.iter()
805
805
-
.map(|e| self.fn_arg(e))
805
805
+
.map(|argument| self.fn_arg(argument))
806
806
.collect_vec();
807
807
let signature = pub_(function.publicity)
808
808
.append("fn ")
···
853
853
location: &SrcSpan,
854
854
end_of_head_byte_index: &u32,
855
855
) -> Document<'a> {
856
856
-
let args_docs = args.iter().map(|e| self.fn_arg(e)).collect_vec();
856
856
+
let args_docs = args.iter().map(|arg| self.fn_arg(arg)).collect_vec();
857
857
let args = self
858
858
.wrap_args(args_docs, *end_of_head_byte_index)
859
859
.group()
···
1063
1063
} => {
1064
1064
let segment_docs = segments
1065
1065
.iter()
1066
1066
-
.map(|s| bit_array_segment(s, |e| self.bit_array_segment_expr(e)))
1066
1066
+
.map(|segment| bit_array_segment(segment, |e| self.bit_array_segment_expr(e)))
1067
1067
.collect_vec();
1068
1068
1069
1069
self.bit_array(
···
2195
2195
} => {
2196
2196
let segment_docs = segments
2197
2197
.iter()
2198
2198
-
.map(|s| bit_array_segment(s, |e| self.pattern(e)))
2198
2198
+
.map(|segment| bit_array_segment(segment, |pattern| self.pattern(pattern)))
2199
2199
.collect_vec();
2200
2200
2201
2201
self.bit_array(segment_docs, false, location)
···
2909
2909
BitArraySegment { value, options, .. } if options.is_empty() => to_doc(value),
2910
2910
2911
2911
BitArraySegment { value, options, .. } => to_doc(value).append(":").append(join(
2912
2912
-
options.iter().map(|o| segment_option(o, |e| to_doc(e))),
2912
2912
+
options
2913
2913
+
.iter()
2914
2914
+
.map(|option| segment_option(option, |value| to_doc(value))),
2913
2915
"-".to_doc(),
2914
2916
)),
2915
2917
}
+1
-1
compiler-core/src/language_server/server.rs
View file
Reviewed
···
386
386
let mut accumulator = Feedback::none();
387
387
let projects = std::mem::take(&mut self.changed_projects);
388
388
for path in projects {
389
389
-
let (_, feedback) = self.respond_with_engine(path, |e| e.compile_please());
389
389
+
let (_, feedback) = self.respond_with_engine(path, |this| this.compile_please());
390
390
accumulator.append_feedback(feedback);
391
391
}
392
392
accumulator
+2
-2
test-helpers-rs/src/lib.rs
View file
Reviewed
···
79
79
.follow_links(true)
80
80
.into_iter()
81
81
.filter_map(Result::ok)
82
82
-
.filter(|e| e.file_type().is_file())
83
83
-
.map(|d| d.into_path());
82
82
+
.filter(|entry| entry.file_type().is_file())
83
83
+
.map(|entry| entry.into_path());
84
84
85
85
for fullpath in files {
86
86
let content = std::fs::read(&fullpath).unwrap();