aboutsummaryrefslogtreecommitdiff
path: root/mavlink-library/src/main/scala/com/github/jodersky/mavlink/StringUtils.scala
diff options
context:
space:
mode:
Diffstat (limited to 'mavlink-library/src/main/scala/com/github/jodersky/mavlink/StringUtils.scala')
-rw-r--r--mavlink-library/src/main/scala/com/github/jodersky/mavlink/StringUtils.scala42
1 files changed, 40 insertions, 2 deletions
diff --git a/mavlink-library/src/main/scala/com/github/jodersky/mavlink/StringUtils.scala b/mavlink-library/src/main/scala/com/github/jodersky/mavlink/StringUtils.scala
index 38b87e7..29f262f 100644
--- a/mavlink-library/src/main/scala/com/github/jodersky/mavlink/StringUtils.scala
+++ b/mavlink-library/src/main/scala/com/github/jodersky/mavlink/StringUtils.scala
@@ -2,15 +2,53 @@ package com.github.jodersky.mavlink
object StringUtils {
+ private final val Keywords = Set(
+ "class",
+ "object",
+ "trait",
+ "extends",
+ "type",
+ "import",
+ "package",
+ "val",
+ "var",
+ "def",
+ "implicit",
+ "private",
+ "protected",
+ "abstract",
+ "override",
+ "class",
+ "case",
+ "match",
+ "final",
+ "this",
+ "super",
+ "throw",
+ "catch",
+ "finally",
+ "if",
+ "else",
+ "for",
+ "while",
+ "do"
+ )
+
+ private def escape(str: String) = if (Keywords.contains(str)) {
+ "`" + str + "`"
+ } else {
+ str
+ }
+
def camelify(str: String) = {
val lower = str.toLowerCase
- "_([a-z\\d])".r.replaceAllIn(lower, {m => m.group(1).toUpperCase()})
+ escape("_([a-z\\d])".r.replaceAllIn(lower, {m => m.group(1).toUpperCase()}))
}
def Camelify(str: String) = {
val camel = camelify(str)
val (head, tail) = camel.splitAt(1)
- head.toUpperCase + tail
+ escape(head.toUpperCase + tail)
}
} \ No newline at end of file