[MIRROR] Automatic Punctuation pref (#9087)

Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: CHOMPStation2 <chompsation2@gmail.com>
This commit is contained in:
CHOMPStation2
2024-09-29 02:08:21 -07:00
committed by GitHub
parent d9b4b2e39d
commit 55ab4b5b07
3 changed files with 21 additions and 0 deletions

View File

@@ -75,3 +75,9 @@
savefile_key = "MessengerEmbeds" savefile_key = "MessengerEmbeds"
default_value = TRUE default_value = TRUE
savefile_identifier = PREFERENCE_PLAYER savefile_identifier = PREFERENCE_PLAYER
/datum/preference/toggle/autopunctuation
category = PREFERENCE_CATEGORY_GAME_PREFERENCES
savefile_key = "AutoPunctuation"
default_value = FALSE
savefile_identifier = PREFERENCE_PLAYER

View File

@@ -197,6 +197,13 @@ var/list/channel_to_radio_key = new
return return
// VOREStation Edit End // VOREStation Edit End
// If the message ends in an alphanumeric character (therefore, not punctuation),
// and autopunctuation is turned on, add a period.
// This must be done right here, before parse_languages is called, to make sure it's in the last multilingual say piece.
if(contains_az09(copytext(message, length(message))))
if(client?.prefs?.read_preference(/datum/preference/toggle/autopunctuation))
message += "."
//Parse the language code and consume it //Parse the language code and consume it
var/list/message_pieces = parse_languages(message) var/list/message_pieces = parse_languages(message)
if(istype(message_pieces, /datum/multilingual_say_piece)) // Little quark for dealing with hivemind/signlang languages. if(istype(message_pieces, /datum/multilingual_say_piece)) // Little quark for dealing with hivemind/signlang languages.

View File

@@ -80,3 +80,11 @@ export const MessengerEmbeds: FeatureToggle = {
'When enabled, PDAs and Communicators will attempt to embed links from discord & imgur.', 'When enabled, PDAs and Communicators will attempt to embed links from discord & imgur.',
component: CheckboxInput, component: CheckboxInput,
}; };
export const AutoPunctuation: FeatureToggle = {
name: 'Automatic Punctuation',
category: 'GAMEPLAY',
description:
'When enabled, if your message ends in a letter with no punctuation, a period will be added.',
component: CheckboxInput,
};