diff --git a/.tool-versions b/.tool-versions
index cca7f90..d7568ad 100644
--- a/.tool-versions
+++ b/.tool-versions
@@ -1,3 +1 @@
 nodejs 20.11.1
-erlang 24.3.4.13
-elixir 1.13.4-otp-24
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e7697e3..ba088d2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Change Log
 
+## [Unreleased]
+
+### Fixed
+
+- Fixed an issue with `do`/`end` and `fn`/`end` brackets where `end` would
+  mistakenly be considered a closing bracket when used as a map or struct field.
+
 ## [0.0.17]
 
 ### Added
diff --git a/package.json b/package.json
index c0e56b7..bdf03ed 100644
--- a/package.json
+++ b/package.json
@@ -59,7 +59,8 @@
         "scopeName": "source.elixir",
         "path": "./syntaxes/elixir.json",
         "unbalancedBracketScopes": [
-          "constant.language.symbol.elixir"
+          "constant.language.symbol.elixir",
+          "entity.name.map-access.elixir"
         ]
       },
       {
diff --git a/syntaxes/elixir.json b/syntaxes/elixir.json
index 88a9c83..f7bb082 100644
--- a/syntaxes/elixir.json
+++ b/syntaxes/elixir.json
@@ -168,6 +168,18 @@
         }
       }
     },
+    {
+      "comment": "Qualified map access without parenthesis",
+      "match": "\\s*(\\.)\\s*([a-z_]\\w*[!?]?)",
+      "captures": {
+        "1": {
+          "name": "punctuation.separator.method.elixir"
+        },
+        "2": {
+          "name": "entity.name.map-access.elixir"
+        }
+      }
+    },
     {
       "comment": "Erlang Function call without parenthesis",
       "match": "(\\:\\w+)\\s*(\\.)\\s*([_]?\\w*[!?]?)",