Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 25 additions & 20 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
## [0.8.1]

### Added
- Dart keywords
- TypeScript keywords
- GO keywords
- PHP keywords
- supported languages list to README

### Fixed
- all current keywords

## [0.8.0]

### Changed
Expand Down Expand Up @@ -26,71 +38,64 @@
## [0.6.0]

### Added
- Support for other non-mobile targets
- support for other non-mobile targets

### Changed
- Project maven description
- project maven description
- Kotlin version to 1.9.0

## [0.5.0]

### Changed
- Publication script to add pom and java doc to all targets
- publication script to add pom and java doc to all targets

## [0.4.2]

### Changed
- Version everywhere to 0.4.2
- version everywhere to 0.4.2

## [0.4.1]

### Added
- More sections to README
- more sections to README

## [0.4.0]

### Changed

- Snapshot is moved to Highlights to keep it with each instance
- snapshot is moved to Highlights to keep it with each instance

## [0.3.1]

### Added

- README code usage examples
- folder with sample
- README installation section

## [0.3.0]

### Added

- Public static `themes` and `languages` functions for easier accessing
- public static `themes` and `languages` functions for easier accessing
all predefined values

## [0.2.1]

### Added

- This CHANGELOG file to hopefully serve as an evolving example of a
- this CHANGELOG file to hopefully serve as an evolving example of a
standardized open source project CHANGELOG

## [0.2.0]

### Added

- Own native algorithm for `indicesOf` function
- own native algorithm for `indicesOf` function
- KMM targets (iosArm64, iosX64, iosSimulatorArm64, jvm)

### Changed

- Java target to Kotlin
- Escaped comment indicator characters to the regular ones
- escaped comment indicator characters to the regular ones

## [0.1.0]

### Added

- Token locators and other internal core components
- Unit tests
- Public API interface
- token locators and other internal core components
- unit tests
- public API interface
22 changes: 21 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ repositories {
```

```shell
implementation("dev.snipme:highlights:0.8.0")
implementation("dev.snipme:highlights:0.8.1")
```

## Features ✨
Expand Down Expand Up @@ -65,6 +65,26 @@ Highlights.Builder()

More advance usage of this library is shown [here](/sample).

## Languages 🌍

`C`,
`C++`,
`DART`,
`JAVA`,
`KOTLIN`,
`RUST`,
`C#`,
`COFFEESCRIPT`,
`JAVASCRIPT`,
`PERL`,
`PYTHON`,
`RUBY`,
`SHELL`,
`SWIFT`,
`TYPESCRIPT`,
`GO`,
`PHP`

## Themes 🖌️

The library comes with predefined syntax coloring themes available in `SyntaxThemes`:
Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ plugins {
}

group = "dev.snipme"
version = "0.8.0"
version = "0.8.1"

kotlin {
// Android
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
package dev.snipme.highlights.internal

import dev.snipme.highlights.internal.SyntaxTokens.ALL_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.ALL_MIXED_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.COFFEE_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.COFFEE_SCRIPT_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.CPP_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.CSHARP_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.C_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.DART_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.GO_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.JAVASCRIPT_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.JAVA_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.JSCRIPT_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.KOTLIN_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.PERL_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.PHP_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.PYTHON_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.RUBY_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.RUST_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.SH_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.SWIFT_KEYWORDS
import dev.snipme.highlights.internal.SyntaxTokens.TYPESCRIPT_KEYWORDS
import dev.snipme.highlights.internal.locator.AnnotationLocator
import dev.snipme.highlights.internal.locator.CommentLocator
import dev.snipme.highlights.internal.locator.KeywordLocator
Expand All @@ -29,17 +32,20 @@ import dev.snipme.highlights.model.SyntaxLanguage.C
import dev.snipme.highlights.model.SyntaxLanguage.COFFEESCRIPT
import dev.snipme.highlights.model.SyntaxLanguage.CPP
import dev.snipme.highlights.model.SyntaxLanguage.CSHARP
import dev.snipme.highlights.model.SyntaxLanguage.DART
import dev.snipme.highlights.model.SyntaxLanguage.DEFAULT
import dev.snipme.highlights.model.SyntaxLanguage.GO
import dev.snipme.highlights.model.SyntaxLanguage.JAVA
import dev.snipme.highlights.model.SyntaxLanguage.JAVASCRIPT
import dev.snipme.highlights.model.SyntaxLanguage.KOTLIN
import dev.snipme.highlights.model.SyntaxLanguage.MIXED
import dev.snipme.highlights.model.SyntaxLanguage.PERL
import dev.snipme.highlights.model.SyntaxLanguage.PHP
import dev.snipme.highlights.model.SyntaxLanguage.PYTHON
import dev.snipme.highlights.model.SyntaxLanguage.RUBY
import dev.snipme.highlights.model.SyntaxLanguage.RUST
import dev.snipme.highlights.model.SyntaxLanguage.SHELL
import dev.snipme.highlights.model.SyntaxLanguage.SWIFT
import dev.snipme.highlights.model.SyntaxLanguage.TYPESCRIPT

data class CodeSnapshot(
val code: String,
Expand Down Expand Up @@ -87,20 +93,23 @@ internal object CodeAnalyzer {
private fun analyzeForLanguage(code: String, language: SyntaxLanguage) =
when (language) {
DEFAULT -> analyzeCodeWithKeywords(code, ALL_KEYWORDS)
MIXED -> analyzeCodeWithKeywords(code, ALL_MIXED_KEYWORDS)
C -> analyzeCodeWithKeywords(code, C_KEYWORDS)
CPP -> analyzeCodeWithKeywords(code, CPP_KEYWORDS)
JAVA -> analyzeCodeWithKeywords(code, JAVA_KEYWORDS)
KOTLIN -> analyzeCodeWithKeywords(code, KOTLIN_KEYWORDS)
RUST -> analyzeCodeWithKeywords(code, RUST_KEYWORDS)
CSHARP -> analyzeCodeWithKeywords(code, CSHARP_KEYWORDS)
COFFEESCRIPT -> analyzeCodeWithKeywords(code, COFFEE_KEYWORDS)
JAVASCRIPT -> analyzeCodeWithKeywords(code, JSCRIPT_KEYWORDS)
COFFEESCRIPT -> analyzeCodeWithKeywords(code, COFFEE_SCRIPT_KEYWORDS)
JAVASCRIPT -> analyzeCodeWithKeywords(code, JAVASCRIPT_KEYWORDS)
PERL -> analyzeCodeWithKeywords(code, PERL_KEYWORDS)
PYTHON -> analyzeCodeWithKeywords(code, PYTHON_KEYWORDS)
RUBY -> analyzeCodeWithKeywords(code, RUBY_KEYWORDS)
SHELL -> analyzeCodeWithKeywords(code, SH_KEYWORDS)
SWIFT -> analyzeCodeWithKeywords(code, SWIFT_KEYWORDS)
DART -> analyzeCodeWithKeywords(code, DART_KEYWORDS)
TYPESCRIPT -> analyzeCodeWithKeywords(code, TYPESCRIPT_KEYWORDS)
GO -> analyzeCodeWithKeywords(code, GO_KEYWORDS)
PHP -> analyzeCodeWithKeywords(code, PHP_KEYWORDS)
}

private fun analyzeCodeWithKeywords(code: String, keywords: List<String>): CodeStructure {
Expand Down
Loading