mirror of
https://github.com/florisboard/florisboard.git
synced 2024-09-19 19:42:20 +02:00
a5dab5fb5a
* feat(ime/nlp): Add `HanShapeBasedLanguageProvider` * feat: Manually set default NLP to be HanShapeBased * feat: Temporarily disable adding spaces This commit should give insight into how the keyboard adds spaces, this should then be refined into not adding a space after commiting a CJK text suggestion * fix(ime/nlp): Remove empty str suggest in HanShape * feat(ime/nlp): Handle locale variants in HanShape this should facilitate multiple layouts in the zh locale * fix(ime/nlp): Handle query params in HanShape This also helps performance as the DBC doesn't have to compile the query for every string the user writes * Space behavior QoL updates for Han shape-based layout (#1) * Separate space behavior for zh* and latin, and allow space when there is no suggestion. Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me> * Add checking if locale is CJK Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me> * refactor: Change predicate to a getter & rename * chore: Remove TODO `supportsAutoSpace` message * fix: Fix spaces after sugg. in non-space subtypes * fix: Fix auto space predicate in `PhantomSpace` Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me> Co-authored-by: waelwindows <waelwindows9922@gmail.com> * Draft: editor screen exposes nlpProviders and shape-based Chinese input methods as variants Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me> * Fix defaults for zhengma preset Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me> * Add word tables for added input methods Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me> * Fix: bug in zhengma preset * Draft: support composing with special characters by delegating nlpProvider to decide composing range. * Catch SQLite errors such as layout (locale variant) not found (e.g. using HanShapeBased with JIS) * fixup: remove TODO * fix: partly addresses 2101, allow searching for locale in English for phones lacking system locale IME * Adds support for importing "language packs" (sqlite3 db for HanShapeBased for now) * Changes language pack to zip files. Adds a basic language pack class for storing metadata of IMEs. Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me> * Implement language pack as a type of Flex extension, and draft its import and view UI Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me> * fix: input method name translation Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me> * Trim down to zhengma, quickclassic, and cangjie for the barebones Chinese shape-based pack. Polish extension user documentation. * Fix hack to allow multiple language pack extensions to co-exist. Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me> * Replace quickclassic with boshiamy * Fix href in LANGUAGEPACKS.md * build(nix): Clean up nix flake * refactor: Encapsulate lanaguage pack query in HSB * feat(ime/nlp): Implement `getListOfWords` in HSB * feat(ime/nlp): Implement `getFrequencyForWord` * chore: Normalize weights for freq in `han.sqlite3` * chore(ime/nlp): Add some logging for HSB * Update app/src/main/assets/ime/keyboard/org.florisboard.localization/extension.json Co-authored-by: Patrick Goldinger <patrick@patrickgold.dev> Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me> Co-authored-by: moonbeamcelery <114041522+moonbeamcelery@users.noreply.github.com> Co-authored-by: moonbeamcelery <moonbeamcelery@proton.me> Co-authored-by: Patrick Goldinger <patrick@patrickgold.dev>
82 lines
2.7 KiB
Nix
82 lines
2.7 KiB
Nix
{
|
|
description = "florisboard build environment";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
flake-utils,
|
|
}: let
|
|
supportedSystems = with flake-utils.lib.system; [x86_64-linux x86_64-darwin aarch64-darwin];
|
|
forAllSystems = f: nixpkgs.lib.genAttrs supportedSystems (system: f system);
|
|
android = {
|
|
versions = {
|
|
tools = "26.1.1";
|
|
platformTools = "33.0.3";
|
|
buildTools = "31.0.0";
|
|
ndk = "22.1.7171670";
|
|
cmake = "3.18.1";
|
|
emulator = "31.3.9";
|
|
};
|
|
platforms = ["32"];
|
|
};
|
|
in
|
|
flake-utils.lib.eachSystem supportedSystems
|
|
(
|
|
system: let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
config = {
|
|
android_sdk.accept_license = true; # accept all of the sdk licenses
|
|
allowUnfree = true; # needed to get android stuff to compile
|
|
};
|
|
};
|
|
# Make the android enviornment we specify
|
|
android-composition = pkgs.androidenv.composeAndroidPackages {
|
|
toolsVersion = android.versions.tools;
|
|
platformToolsVersion = android.versions.platformTools;
|
|
buildToolsVersions = [android.versions.buildTools];
|
|
platformVersions = android.platforms;
|
|
cmakeVersions = [android.versions.cmake];
|
|
includeNDK = true;
|
|
ndkVersions = [android.versions.ndk];
|
|
includeEmulator = true;
|
|
emulatorVersion = android.versions.emulator;
|
|
};
|
|
android-sdk =
|
|
(pkgs.androidenv.composeAndroidPackages {
|
|
toolsVersion = android.versions.tools;
|
|
platformToolsVersion = android.versions.platformTools;
|
|
buildToolsVersions = [android.versions.buildTools];
|
|
platformVersions = android.platforms;
|
|
cmakeVersions = [android.versions.cmake];
|
|
includeNDK = true;
|
|
ndkVersions = [android.versions.ndk];
|
|
})
|
|
.androidsdk;
|
|
in rec {
|
|
devShells.default = pkgs.mkShell rec {
|
|
ANDROID_SDK_ROOT = "${android-sdk}/libexec/android-sdk";
|
|
ANDROID_NDK_ROOT = "${ANDROID_SDK_ROOT}/ndk-bundle";
|
|
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/${android.versions.buildTools}/aapt2";
|
|
JAVA_HOME = "${pkgs.jdk8.home}";
|
|
nativeBulidInputs = with pkgs; [
|
|
android-sdk
|
|
jdk8
|
|
clang
|
|
kotlin-language-server
|
|
];
|
|
|
|
# Use the same cmakeVersion here
|
|
shellHook = ''
|
|
export PATH="$(echo "$ANDROID_SDK_ROOT/cmake/${android.versions.cmake}".*/bin):$PATH"
|
|
'';
|
|
};
|
|
}
|
|
);
|
|
}
|