2
0

class_textedit.rst 268 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300
  1. :github_url: hide
  2. .. meta::
  3. :keywords: textarea
  4. .. DO NOT EDIT THIS FILE!!!
  5. .. Generated automatically from Godot engine sources.
  6. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  7. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TextEdit.xml.
  8. .. _class_TextEdit:
  9. TextEdit
  10. ========
  11. **Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  12. **Inherited By:** :ref:`CodeEdit<class_CodeEdit>`
  13. A multiline text editor.
  14. .. rst-class:: classref-introduction-group
  15. Description
  16. -----------
  17. A multiline text editor. It also has limited facilities for editing code, such as syntax highlighting support. For more advanced facilities for editing code, see :ref:`CodeEdit<class_CodeEdit>`.
  18. While entering text, it is possible to insert special characters using Unicode, OEM or Windows alt codes:
  19. - To enter Unicode codepoints, hold :kbd:`Alt` and type the codepoint on the numpad. For example, to enter the character ``á`` (U+00E1), hold :kbd:`Alt` and type :kbd:`+E1` on the numpad (the leading zeroes can be omitted).
  20. - To enter OEM codepoints, hold :kbd:`Alt` and type the code on the numpad. For example, to enter the character ``á`` (OEM 160), hold :kbd:`Alt` and type ``160`` on the numpad.
  21. - To enter Windows codepoints, hold :kbd:`Alt` and type the code on the numpad. For example, to enter the character ``á`` (Windows 0225), hold :kbd:`Alt` and type :kbd:`0`, :kbd:`2`, :kbd:`2`, :kbd:`5` on the numpad. The leading zero here must **not** be omitted, as this is how Windows codepoints are distinguished from OEM codepoints.
  22. \ **Note:** Most viewport, caret, and edit methods contain a ``caret_index`` argument for :ref:`caret_multiple<class_TextEdit_property_caret_multiple>` support. The argument should be one of the following: ``-1`` for all carets, ``0`` for the main caret, or greater than ``0`` for secondary carets in the order they were created.
  23. \ **Note:** When holding down :kbd:`Alt`, the vertical scroll wheel will scroll 5 times as fast as it would normally do. This also works in the Godot script editor.
  24. .. rst-class:: classref-reftable-group
  25. Properties
  26. ----------
  27. .. table::
  28. :widths: auto
  29. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  30. | :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` | :ref:`autowrap_mode<class_TextEdit_property_autowrap_mode>` | ``3`` |
  31. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  32. | :ref:`bool<class_bool>` | :ref:`backspace_deletes_composite_character_enabled<class_TextEdit_property_backspace_deletes_composite_character_enabled>` | ``false`` |
  33. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  34. | :ref:`bool<class_bool>` | :ref:`caret_blink<class_TextEdit_property_caret_blink>` | ``false`` |
  35. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  36. | :ref:`float<class_float>` | :ref:`caret_blink_interval<class_TextEdit_property_caret_blink_interval>` | ``0.65`` |
  37. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  38. | :ref:`bool<class_bool>` | :ref:`caret_draw_when_editable_disabled<class_TextEdit_property_caret_draw_when_editable_disabled>` | ``false`` |
  39. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  40. | :ref:`bool<class_bool>` | :ref:`caret_mid_grapheme<class_TextEdit_property_caret_mid_grapheme>` | ``false`` |
  41. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  42. | :ref:`bool<class_bool>` | :ref:`caret_move_on_right_click<class_TextEdit_property_caret_move_on_right_click>` | ``true`` |
  43. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  44. | :ref:`bool<class_bool>` | :ref:`caret_multiple<class_TextEdit_property_caret_multiple>` | ``true`` |
  45. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  46. | :ref:`CaretType<enum_TextEdit_CaretType>` | :ref:`caret_type<class_TextEdit_property_caret_type>` | ``0`` |
  47. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  48. | :ref:`bool<class_bool>` | :ref:`context_menu_enabled<class_TextEdit_property_context_menu_enabled>` | ``true`` |
  49. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  50. | :ref:`String<class_String>` | :ref:`custom_word_separators<class_TextEdit_property_custom_word_separators>` | ``""`` |
  51. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  52. | :ref:`bool<class_bool>` | :ref:`deselect_on_focus_loss_enabled<class_TextEdit_property_deselect_on_focus_loss_enabled>` | ``true`` |
  53. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  54. | :ref:`bool<class_bool>` | :ref:`drag_and_drop_selection_enabled<class_TextEdit_property_drag_and_drop_selection_enabled>` | ``true`` |
  55. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  56. | :ref:`bool<class_bool>` | :ref:`draw_control_chars<class_TextEdit_property_draw_control_chars>` | ``false`` |
  57. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  58. | :ref:`bool<class_bool>` | :ref:`draw_spaces<class_TextEdit_property_draw_spaces>` | ``false`` |
  59. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  60. | :ref:`bool<class_bool>` | :ref:`draw_tabs<class_TextEdit_property_draw_tabs>` | ``false`` |
  61. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  62. | :ref:`bool<class_bool>` | :ref:`editable<class_TextEdit_property_editable>` | ``true`` |
  63. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  64. | :ref:`bool<class_bool>` | :ref:`emoji_menu_enabled<class_TextEdit_property_emoji_menu_enabled>` | ``true`` |
  65. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  66. | :ref:`bool<class_bool>` | :ref:`empty_selection_clipboard_enabled<class_TextEdit_property_empty_selection_clipboard_enabled>` | ``true`` |
  67. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  68. | :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`) |
  69. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  70. | :ref:`bool<class_bool>` | :ref:`highlight_all_occurrences<class_TextEdit_property_highlight_all_occurrences>` | ``false`` |
  71. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  72. | :ref:`bool<class_bool>` | :ref:`highlight_current_line<class_TextEdit_property_highlight_current_line>` | ``false`` |
  73. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  74. | :ref:`bool<class_bool>` | :ref:`indent_wrapped_lines<class_TextEdit_property_indent_wrapped_lines>` | ``false`` |
  75. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  76. | :ref:`String<class_String>` | :ref:`language<class_TextEdit_property_language>` | ``""`` |
  77. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  78. | :ref:`bool<class_bool>` | :ref:`middle_mouse_paste_enabled<class_TextEdit_property_middle_mouse_paste_enabled>` | ``true`` |
  79. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  80. | :ref:`bool<class_bool>` | :ref:`minimap_draw<class_TextEdit_property_minimap_draw>` | ``false`` |
  81. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  82. | :ref:`int<class_int>` | :ref:`minimap_width<class_TextEdit_property_minimap_width>` | ``80`` |
  83. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  84. | :ref:`CursorShape<enum_Control_CursorShape>` | mouse_default_cursor_shape | ``1`` (overrides :ref:`Control<class_Control_property_mouse_default_cursor_shape>`) |
  85. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  86. | :ref:`String<class_String>` | :ref:`placeholder_text<class_TextEdit_property_placeholder_text>` | ``""`` |
  87. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  88. | :ref:`bool<class_bool>` | :ref:`scroll_fit_content_height<class_TextEdit_property_scroll_fit_content_height>` | ``false`` |
  89. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  90. | :ref:`bool<class_bool>` | :ref:`scroll_fit_content_width<class_TextEdit_property_scroll_fit_content_width>` | ``false`` |
  91. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  92. | :ref:`int<class_int>` | :ref:`scroll_horizontal<class_TextEdit_property_scroll_horizontal>` | ``0`` |
  93. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  94. | :ref:`bool<class_bool>` | :ref:`scroll_past_end_of_file<class_TextEdit_property_scroll_past_end_of_file>` | ``false`` |
  95. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  96. | :ref:`bool<class_bool>` | :ref:`scroll_smooth<class_TextEdit_property_scroll_smooth>` | ``false`` |
  97. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  98. | :ref:`float<class_float>` | :ref:`scroll_v_scroll_speed<class_TextEdit_property_scroll_v_scroll_speed>` | ``80.0`` |
  99. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  100. | :ref:`float<class_float>` | :ref:`scroll_vertical<class_TextEdit_property_scroll_vertical>` | ``0.0`` |
  101. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  102. | :ref:`bool<class_bool>` | :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` | ``true`` |
  103. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  104. | :ref:`bool<class_bool>` | :ref:`shortcut_keys_enabled<class_TextEdit_property_shortcut_keys_enabled>` | ``true`` |
  105. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  106. | :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` | :ref:`structured_text_bidi_override<class_TextEdit_property_structured_text_bidi_override>` | ``0`` |
  107. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  108. | :ref:`Array<class_Array>` | :ref:`structured_text_bidi_override_options<class_TextEdit_property_structured_text_bidi_override_options>` | ``[]`` |
  109. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  110. | :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` | :ref:`syntax_highlighter<class_TextEdit_property_syntax_highlighter>` | |
  111. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  112. | :ref:`bool<class_bool>` | :ref:`tab_input_mode<class_TextEdit_property_tab_input_mode>` | ``true`` |
  113. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  114. | :ref:`String<class_String>` | :ref:`text<class_TextEdit_property_text>` | ``""`` |
  115. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  116. | :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`text_direction<class_TextEdit_property_text_direction>` | ``0`` |
  117. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  118. | :ref:`bool<class_bool>` | :ref:`use_custom_word_separators<class_TextEdit_property_use_custom_word_separators>` | ``false`` |
  119. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  120. | :ref:`bool<class_bool>` | :ref:`use_default_word_separators<class_TextEdit_property_use_default_word_separators>` | ``true`` |
  121. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  122. | :ref:`bool<class_bool>` | :ref:`virtual_keyboard_enabled<class_TextEdit_property_virtual_keyboard_enabled>` | ``true`` |
  123. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  124. | :ref:`bool<class_bool>` | :ref:`virtual_keyboard_show_on_focus<class_TextEdit_property_virtual_keyboard_show_on_focus>` | ``true`` |
  125. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  126. | :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` | :ref:`wrap_mode<class_TextEdit_property_wrap_mode>` | ``0`` |
  127. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  128. .. rst-class:: classref-reftable-group
  129. Methods
  130. -------
  131. .. table::
  132. :widths: auto
  133. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  134. | |void| | :ref:`_backspace<class_TextEdit_private_method__backspace>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  135. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  136. | |void| | :ref:`_copy<class_TextEdit_private_method__copy>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  137. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  138. | |void| | :ref:`_cut<class_TextEdit_private_method__cut>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  139. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  140. | |void| | :ref:`_handle_unicode_input<class_TextEdit_private_method__handle_unicode_input>`\ (\ unicode_char\: :ref:`int<class_int>`, caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  141. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  142. | |void| | :ref:`_paste<class_TextEdit_private_method__paste>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  143. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  144. | |void| | :ref:`_paste_primary_clipboard<class_TextEdit_private_method__paste_primary_clipboard>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  145. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  146. | :ref:`int<class_int>` | :ref:`add_caret<class_TextEdit_method_add_caret>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |
  147. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  148. | |void| | :ref:`add_caret_at_carets<class_TextEdit_method_add_caret_at_carets>`\ (\ below\: :ref:`bool<class_bool>`\ ) |
  149. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  150. | |void| | :ref:`add_gutter<class_TextEdit_method_add_gutter>`\ (\ at\: :ref:`int<class_int>` = -1\ ) |
  151. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  152. | |void| | :ref:`add_selection_for_next_occurrence<class_TextEdit_method_add_selection_for_next_occurrence>`\ (\ ) |
  153. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  154. | |void| | :ref:`adjust_carets_after_edit<class_TextEdit_method_adjust_carets_after_edit>`\ (\ caret\: :ref:`int<class_int>`, from_line\: :ref:`int<class_int>`, from_col\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`, to_col\: :ref:`int<class_int>`\ ) |
  155. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  156. | |void| | :ref:`adjust_viewport_to_caret<class_TextEdit_method_adjust_viewport_to_caret>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |
  157. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  158. | |void| | :ref:`apply_ime<class_TextEdit_method_apply_ime>`\ (\ ) |
  159. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  160. | |void| | :ref:`backspace<class_TextEdit_method_backspace>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  161. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  162. | |void| | :ref:`begin_complex_operation<class_TextEdit_method_begin_complex_operation>`\ (\ ) |
  163. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  164. | |void| | :ref:`begin_multicaret_edit<class_TextEdit_method_begin_multicaret_edit>`\ (\ ) |
  165. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  166. | |void| | :ref:`cancel_ime<class_TextEdit_method_cancel_ime>`\ (\ ) |
  167. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  168. | |void| | :ref:`center_viewport_to_caret<class_TextEdit_method_center_viewport_to_caret>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |
  169. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  170. | |void| | :ref:`clear<class_TextEdit_method_clear>`\ (\ ) |
  171. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  172. | |void| | :ref:`clear_undo_history<class_TextEdit_method_clear_undo_history>`\ (\ ) |
  173. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  174. | |void| | :ref:`collapse_carets<class_TextEdit_method_collapse_carets>`\ (\ from_line\: :ref:`int<class_int>`, from_column\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`, to_column\: :ref:`int<class_int>`, inclusive\: :ref:`bool<class_bool>` = false\ ) |
  175. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  176. | |void| | :ref:`copy<class_TextEdit_method_copy>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  177. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  178. | |void| | :ref:`cut<class_TextEdit_method_cut>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  179. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  180. | |void| | :ref:`delete_selection<class_TextEdit_method_delete_selection>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  181. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  182. | |void| | :ref:`deselect<class_TextEdit_method_deselect>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  183. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  184. | |void| | :ref:`end_action<class_TextEdit_method_end_action>`\ (\ ) |
  185. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  186. | |void| | :ref:`end_complex_operation<class_TextEdit_method_end_complex_operation>`\ (\ ) |
  187. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  188. | |void| | :ref:`end_multicaret_edit<class_TextEdit_method_end_multicaret_edit>`\ (\ ) |
  189. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  190. | :ref:`int<class_int>` | :ref:`get_caret_column<class_TextEdit_method_get_caret_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  191. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  192. | :ref:`int<class_int>` | :ref:`get_caret_count<class_TextEdit_method_get_caret_count>`\ (\ ) |const| |
  193. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  194. | :ref:`Vector2<class_Vector2>` | :ref:`get_caret_draw_pos<class_TextEdit_method_get_caret_draw_pos>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  195. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  196. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_caret_index_edit_order<class_TextEdit_method_get_caret_index_edit_order>`\ (\ ) |
  197. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  198. | :ref:`int<class_int>` | :ref:`get_caret_line<class_TextEdit_method_get_caret_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  199. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  200. | :ref:`int<class_int>` | :ref:`get_caret_wrap_index<class_TextEdit_method_get_caret_wrap_index>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  201. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  202. | :ref:`int<class_int>` | :ref:`get_first_non_whitespace_column<class_TextEdit_method_get_first_non_whitespace_column>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  203. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  204. | :ref:`int<class_int>` | :ref:`get_first_visible_line<class_TextEdit_method_get_first_visible_line>`\ (\ ) |const| |
  205. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  206. | :ref:`int<class_int>` | :ref:`get_gutter_count<class_TextEdit_method_get_gutter_count>`\ (\ ) |const| |
  207. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  208. | :ref:`String<class_String>` | :ref:`get_gutter_name<class_TextEdit_method_get_gutter_name>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  209. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  210. | :ref:`GutterType<enum_TextEdit_GutterType>` | :ref:`get_gutter_type<class_TextEdit_method_get_gutter_type>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  211. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  212. | :ref:`int<class_int>` | :ref:`get_gutter_width<class_TextEdit_method_get_gutter_width>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  213. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  214. | :ref:`HScrollBar<class_HScrollBar>` | :ref:`get_h_scroll_bar<class_TextEdit_method_get_h_scroll_bar>`\ (\ ) |const| |
  215. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  216. | :ref:`int<class_int>` | :ref:`get_indent_level<class_TextEdit_method_get_indent_level>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  217. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  218. | :ref:`int<class_int>` | :ref:`get_last_full_visible_line<class_TextEdit_method_get_last_full_visible_line>`\ (\ ) |const| |
  219. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  220. | :ref:`int<class_int>` | :ref:`get_last_full_visible_line_wrap_index<class_TextEdit_method_get_last_full_visible_line_wrap_index>`\ (\ ) |const| |
  221. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  222. | :ref:`int<class_int>` | :ref:`get_last_unhidden_line<class_TextEdit_method_get_last_unhidden_line>`\ (\ ) |const| |
  223. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  224. | :ref:`String<class_String>` | :ref:`get_line<class_TextEdit_method_get_line>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  225. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  226. | :ref:`Color<class_Color>` | :ref:`get_line_background_color<class_TextEdit_method_get_line_background_color>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  227. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  228. | :ref:`Vector2i<class_Vector2i>` | :ref:`get_line_column_at_pos<class_TextEdit_method_get_line_column_at_pos>`\ (\ position\: :ref:`Vector2i<class_Vector2i>`, clamp_line\: :ref:`bool<class_bool>` = true, clamp_column\: :ref:`bool<class_bool>` = true\ ) |const| |
  229. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  230. | :ref:`int<class_int>` | :ref:`get_line_count<class_TextEdit_method_get_line_count>`\ (\ ) |const| |
  231. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  232. | :ref:`Texture2D<class_Texture2D>` | :ref:`get_line_gutter_icon<class_TextEdit_method_get_line_gutter_icon>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| |
  233. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  234. | :ref:`Color<class_Color>` | :ref:`get_line_gutter_item_color<class_TextEdit_method_get_line_gutter_item_color>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| |
  235. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  236. | :ref:`Variant<class_Variant>` | :ref:`get_line_gutter_metadata<class_TextEdit_method_get_line_gutter_metadata>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| |
  237. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  238. | :ref:`String<class_String>` | :ref:`get_line_gutter_text<class_TextEdit_method_get_line_gutter_text>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| |
  239. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  240. | :ref:`int<class_int>` | :ref:`get_line_height<class_TextEdit_method_get_line_height>`\ (\ ) |const| |
  241. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  242. | :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] | :ref:`get_line_ranges_from_carets<class_TextEdit_method_get_line_ranges_from_carets>`\ (\ only_selections\: :ref:`bool<class_bool>` = false, merge_adjacent\: :ref:`bool<class_bool>` = true\ ) |const| |
  243. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  244. | :ref:`int<class_int>` | :ref:`get_line_width<class_TextEdit_method_get_line_width>`\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = -1\ ) |const| |
  245. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  246. | :ref:`String<class_String>` | :ref:`get_line_with_ime<class_TextEdit_method_get_line_with_ime>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  247. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  248. | :ref:`int<class_int>` | :ref:`get_line_wrap_count<class_TextEdit_method_get_line_wrap_count>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  249. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  250. | :ref:`int<class_int>` | :ref:`get_line_wrap_index_at_column<class_TextEdit_method_get_line_wrap_index_at_column>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| |
  251. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  252. | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_line_wrapped_text<class_TextEdit_method_get_line_wrapped_text>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  253. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  254. | :ref:`Vector2<class_Vector2>` | :ref:`get_local_mouse_pos<class_TextEdit_method_get_local_mouse_pos>`\ (\ ) |const| |
  255. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  256. | :ref:`PopupMenu<class_PopupMenu>` | :ref:`get_menu<class_TextEdit_method_get_menu>`\ (\ ) |const| |
  257. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  258. | :ref:`int<class_int>` | :ref:`get_minimap_line_at_pos<class_TextEdit_method_get_minimap_line_at_pos>`\ (\ position\: :ref:`Vector2i<class_Vector2i>`\ ) |const| |
  259. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  260. | :ref:`int<class_int>` | :ref:`get_minimap_visible_lines<class_TextEdit_method_get_minimap_visible_lines>`\ (\ ) |const| |
  261. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  262. | :ref:`int<class_int>` | :ref:`get_next_composite_character_column<class_TextEdit_method_get_next_composite_character_column>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| |
  263. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  264. | :ref:`Vector2i<class_Vector2i>` | :ref:`get_next_visible_line_index_offset_from<class_TextEdit_method_get_next_visible_line_index_offset_from>`\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>`, visible_amount\: :ref:`int<class_int>`\ ) |const| |
  265. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  266. | :ref:`int<class_int>` | :ref:`get_next_visible_line_offset_from<class_TextEdit_method_get_next_visible_line_offset_from>`\ (\ line\: :ref:`int<class_int>`, visible_amount\: :ref:`int<class_int>`\ ) |const| |
  267. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  268. | :ref:`Vector2i<class_Vector2i>` | :ref:`get_pos_at_line_column<class_TextEdit_method_get_pos_at_line_column>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| |
  269. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  270. | :ref:`int<class_int>` | :ref:`get_previous_composite_character_column<class_TextEdit_method_get_previous_composite_character_column>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| |
  271. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  272. | :ref:`Rect2i<class_Rect2i>` | :ref:`get_rect_at_line_column<class_TextEdit_method_get_rect_at_line_column>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| |
  273. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  274. | :ref:`int<class_int>` | :ref:`get_saved_version<class_TextEdit_method_get_saved_version>`\ (\ ) |const| |
  275. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  276. | :ref:`float<class_float>` | :ref:`get_scroll_pos_for_line<class_TextEdit_method_get_scroll_pos_for_line>`\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) |const| |
  277. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  278. | :ref:`String<class_String>` | :ref:`get_selected_text<class_TextEdit_method_get_selected_text>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  279. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  280. | :ref:`int<class_int>` | :ref:`get_selection_at_line_column<class_TextEdit_method_get_selection_at_line_column>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`, include_edges\: :ref:`bool<class_bool>` = true, only_selections\: :ref:`bool<class_bool>` = true\ ) |const| |
  281. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  282. | :ref:`int<class_int>` | :ref:`get_selection_column<class_TextEdit_method_get_selection_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  283. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  284. | :ref:`int<class_int>` | :ref:`get_selection_from_column<class_TextEdit_method_get_selection_from_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  285. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  286. | :ref:`int<class_int>` | :ref:`get_selection_from_line<class_TextEdit_method_get_selection_from_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  287. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  288. | :ref:`int<class_int>` | :ref:`get_selection_line<class_TextEdit_method_get_selection_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  289. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  290. | :ref:`SelectionMode<enum_TextEdit_SelectionMode>` | :ref:`get_selection_mode<class_TextEdit_method_get_selection_mode>`\ (\ ) |const| |
  291. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  292. | :ref:`int<class_int>` | :ref:`get_selection_origin_column<class_TextEdit_method_get_selection_origin_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  293. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  294. | :ref:`int<class_int>` | :ref:`get_selection_origin_line<class_TextEdit_method_get_selection_origin_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  295. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  296. | :ref:`int<class_int>` | :ref:`get_selection_to_column<class_TextEdit_method_get_selection_to_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  297. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  298. | :ref:`int<class_int>` | :ref:`get_selection_to_line<class_TextEdit_method_get_selection_to_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  299. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  300. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_sorted_carets<class_TextEdit_method_get_sorted_carets>`\ (\ include_ignored_carets\: :ref:`bool<class_bool>` = false\ ) |const| |
  301. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  302. | :ref:`int<class_int>` | :ref:`get_tab_size<class_TextEdit_method_get_tab_size>`\ (\ ) |const| |
  303. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  304. | :ref:`int<class_int>` | :ref:`get_total_gutter_width<class_TextEdit_method_get_total_gutter_width>`\ (\ ) |const| |
  305. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  306. | :ref:`int<class_int>` | :ref:`get_total_visible_line_count<class_TextEdit_method_get_total_visible_line_count>`\ (\ ) |const| |
  307. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  308. | :ref:`VScrollBar<class_VScrollBar>` | :ref:`get_v_scroll_bar<class_TextEdit_method_get_v_scroll_bar>`\ (\ ) |const| |
  309. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  310. | :ref:`int<class_int>` | :ref:`get_version<class_TextEdit_method_get_version>`\ (\ ) |const| |
  311. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  312. | :ref:`int<class_int>` | :ref:`get_visible_line_count<class_TextEdit_method_get_visible_line_count>`\ (\ ) |const| |
  313. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  314. | :ref:`int<class_int>` | :ref:`get_visible_line_count_in_range<class_TextEdit_method_get_visible_line_count_in_range>`\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) |const| |
  315. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  316. | :ref:`String<class_String>` | :ref:`get_word_at_pos<class_TextEdit_method_get_word_at_pos>`\ (\ position\: :ref:`Vector2<class_Vector2>`\ ) |const| |
  317. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  318. | :ref:`String<class_String>` | :ref:`get_word_under_caret<class_TextEdit_method_get_word_under_caret>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |const| |
  319. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  320. | :ref:`bool<class_bool>` | :ref:`has_ime_text<class_TextEdit_method_has_ime_text>`\ (\ ) |const| |
  321. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  322. | :ref:`bool<class_bool>` | :ref:`has_redo<class_TextEdit_method_has_redo>`\ (\ ) |const| |
  323. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  324. | :ref:`bool<class_bool>` | :ref:`has_selection<class_TextEdit_method_has_selection>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |const| |
  325. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  326. | :ref:`bool<class_bool>` | :ref:`has_undo<class_TextEdit_method_has_undo>`\ (\ ) |const| |
  327. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  328. | |void| | :ref:`insert_line_at<class_TextEdit_method_insert_line_at>`\ (\ line\: :ref:`int<class_int>`, text\: :ref:`String<class_String>`\ ) |
  329. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  330. | |void| | :ref:`insert_text<class_TextEdit_method_insert_text>`\ (\ text\: :ref:`String<class_String>`, line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`, before_selection_begin\: :ref:`bool<class_bool>` = true, before_selection_end\: :ref:`bool<class_bool>` = false\ ) |
  331. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  332. | |void| | :ref:`insert_text_at_caret<class_TextEdit_method_insert_text_at_caret>`\ (\ text\: :ref:`String<class_String>`, caret_index\: :ref:`int<class_int>` = -1\ ) |
  333. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  334. | :ref:`bool<class_bool>` | :ref:`is_caret_after_selection_origin<class_TextEdit_method_is_caret_after_selection_origin>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  335. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  336. | :ref:`bool<class_bool>` | :ref:`is_caret_visible<class_TextEdit_method_is_caret_visible>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  337. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  338. | :ref:`bool<class_bool>` | :ref:`is_dragging_cursor<class_TextEdit_method_is_dragging_cursor>`\ (\ ) |const| |
  339. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  340. | :ref:`bool<class_bool>` | :ref:`is_gutter_clickable<class_TextEdit_method_is_gutter_clickable>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  341. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  342. | :ref:`bool<class_bool>` | :ref:`is_gutter_drawn<class_TextEdit_method_is_gutter_drawn>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  343. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  344. | :ref:`bool<class_bool>` | :ref:`is_gutter_overwritable<class_TextEdit_method_is_gutter_overwritable>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  345. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  346. | :ref:`bool<class_bool>` | :ref:`is_in_mulitcaret_edit<class_TextEdit_method_is_in_mulitcaret_edit>`\ (\ ) |const| |
  347. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  348. | :ref:`bool<class_bool>` | :ref:`is_line_gutter_clickable<class_TextEdit_method_is_line_gutter_clickable>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| |
  349. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  350. | :ref:`bool<class_bool>` | :ref:`is_line_wrapped<class_TextEdit_method_is_line_wrapped>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  351. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  352. | :ref:`bool<class_bool>` | :ref:`is_menu_visible<class_TextEdit_method_is_menu_visible>`\ (\ ) |const| |
  353. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  354. | :ref:`bool<class_bool>` | :ref:`is_mouse_over_selection<class_TextEdit_method_is_mouse_over_selection>`\ (\ edges\: :ref:`bool<class_bool>`, caret_index\: :ref:`int<class_int>` = -1\ ) |const| |
  355. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  356. | :ref:`bool<class_bool>` | :ref:`is_overtype_mode_enabled<class_TextEdit_method_is_overtype_mode_enabled>`\ (\ ) |const| |
  357. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  358. | |void| | :ref:`menu_option<class_TextEdit_method_menu_option>`\ (\ option\: :ref:`int<class_int>`\ ) |
  359. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  360. | |void| | :ref:`merge_gutters<class_TextEdit_method_merge_gutters>`\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) |
  361. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  362. | |void| | :ref:`merge_overlapping_carets<class_TextEdit_method_merge_overlapping_carets>`\ (\ ) |
  363. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  364. | :ref:`bool<class_bool>` | :ref:`multicaret_edit_ignore_caret<class_TextEdit_method_multicaret_edit_ignore_caret>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |const| |
  365. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  366. | |void| | :ref:`paste<class_TextEdit_method_paste>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  367. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  368. | |void| | :ref:`paste_primary_clipboard<class_TextEdit_method_paste_primary_clipboard>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  369. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  370. | |void| | :ref:`redo<class_TextEdit_method_redo>`\ (\ ) |
  371. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  372. | |void| | :ref:`remove_caret<class_TextEdit_method_remove_caret>`\ (\ caret\: :ref:`int<class_int>`\ ) |
  373. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  374. | |void| | :ref:`remove_gutter<class_TextEdit_method_remove_gutter>`\ (\ gutter\: :ref:`int<class_int>`\ ) |
  375. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  376. | |void| | :ref:`remove_line_at<class_TextEdit_method_remove_line_at>`\ (\ line\: :ref:`int<class_int>`, move_carets_down\: :ref:`bool<class_bool>` = true\ ) |
  377. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  378. | |void| | :ref:`remove_secondary_carets<class_TextEdit_method_remove_secondary_carets>`\ (\ ) |
  379. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  380. | |void| | :ref:`remove_text<class_TextEdit_method_remove_text>`\ (\ from_line\: :ref:`int<class_int>`, from_column\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`, to_column\: :ref:`int<class_int>`\ ) |
  381. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  382. | :ref:`Vector2i<class_Vector2i>` | :ref:`search<class_TextEdit_method_search>`\ (\ text\: :ref:`String<class_String>`, flags\: :ref:`int<class_int>`, from_line\: :ref:`int<class_int>`, from_column\: :ref:`int<class_int>`\ ) |const| |
  383. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  384. | |void| | :ref:`select<class_TextEdit_method_select>`\ (\ origin_line\: :ref:`int<class_int>`, origin_column\: :ref:`int<class_int>`, caret_line\: :ref:`int<class_int>`, caret_column\: :ref:`int<class_int>`, caret_index\: :ref:`int<class_int>` = 0\ ) |
  385. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  386. | |void| | :ref:`select_all<class_TextEdit_method_select_all>`\ (\ ) |
  387. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  388. | |void| | :ref:`select_word_under_caret<class_TextEdit_method_select_word_under_caret>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  389. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  390. | |void| | :ref:`set_caret_column<class_TextEdit_method_set_caret_column>`\ (\ column\: :ref:`int<class_int>`, adjust_viewport\: :ref:`bool<class_bool>` = true, caret_index\: :ref:`int<class_int>` = 0\ ) |
  391. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  392. | |void| | :ref:`set_caret_line<class_TextEdit_method_set_caret_line>`\ (\ line\: :ref:`int<class_int>`, adjust_viewport\: :ref:`bool<class_bool>` = true, can_be_hidden\: :ref:`bool<class_bool>` = true, wrap_index\: :ref:`int<class_int>` = 0, caret_index\: :ref:`int<class_int>` = 0\ ) |
  393. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  394. | |void| | :ref:`set_gutter_clickable<class_TextEdit_method_set_gutter_clickable>`\ (\ gutter\: :ref:`int<class_int>`, clickable\: :ref:`bool<class_bool>`\ ) |
  395. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  396. | |void| | :ref:`set_gutter_custom_draw<class_TextEdit_method_set_gutter_custom_draw>`\ (\ column\: :ref:`int<class_int>`, draw_callback\: :ref:`Callable<class_Callable>`\ ) |
  397. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  398. | |void| | :ref:`set_gutter_draw<class_TextEdit_method_set_gutter_draw>`\ (\ gutter\: :ref:`int<class_int>`, draw\: :ref:`bool<class_bool>`\ ) |
  399. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  400. | |void| | :ref:`set_gutter_name<class_TextEdit_method_set_gutter_name>`\ (\ gutter\: :ref:`int<class_int>`, name\: :ref:`String<class_String>`\ ) |
  401. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  402. | |void| | :ref:`set_gutter_overwritable<class_TextEdit_method_set_gutter_overwritable>`\ (\ gutter\: :ref:`int<class_int>`, overwritable\: :ref:`bool<class_bool>`\ ) |
  403. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  404. | |void| | :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>`\ (\ gutter\: :ref:`int<class_int>`, type\: :ref:`GutterType<enum_TextEdit_GutterType>`\ ) |
  405. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  406. | |void| | :ref:`set_gutter_width<class_TextEdit_method_set_gutter_width>`\ (\ gutter\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`\ ) |
  407. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  408. | |void| | :ref:`set_line<class_TextEdit_method_set_line>`\ (\ line\: :ref:`int<class_int>`, new_text\: :ref:`String<class_String>`\ ) |
  409. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  410. | |void| | :ref:`set_line_as_center_visible<class_TextEdit_method_set_line_as_center_visible>`\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) |
  411. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  412. | |void| | :ref:`set_line_as_first_visible<class_TextEdit_method_set_line_as_first_visible>`\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) |
  413. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  414. | |void| | :ref:`set_line_as_last_visible<class_TextEdit_method_set_line_as_last_visible>`\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) |
  415. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  416. | |void| | :ref:`set_line_background_color<class_TextEdit_method_set_line_background_color>`\ (\ line\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |
  417. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  418. | |void| | :ref:`set_line_gutter_clickable<class_TextEdit_method_set_line_gutter_clickable>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, clickable\: :ref:`bool<class_bool>`\ ) |
  419. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  420. | |void| | :ref:`set_line_gutter_icon<class_TextEdit_method_set_line_gutter_icon>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) |
  421. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  422. | |void| | :ref:`set_line_gutter_item_color<class_TextEdit_method_set_line_gutter_item_color>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |
  423. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  424. | |void| | :ref:`set_line_gutter_metadata<class_TextEdit_method_set_line_gutter_metadata>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, metadata\: :ref:`Variant<class_Variant>`\ ) |
  425. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  426. | |void| | :ref:`set_line_gutter_text<class_TextEdit_method_set_line_gutter_text>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, text\: :ref:`String<class_String>`\ ) |
  427. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  428. | |void| | :ref:`set_overtype_mode_enabled<class_TextEdit_method_set_overtype_mode_enabled>`\ (\ enabled\: :ref:`bool<class_bool>`\ ) |
  429. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  430. | |void| | :ref:`set_search_flags<class_TextEdit_method_set_search_flags>`\ (\ flags\: :ref:`int<class_int>`\ ) |
  431. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  432. | |void| | :ref:`set_search_text<class_TextEdit_method_set_search_text>`\ (\ search_text\: :ref:`String<class_String>`\ ) |
  433. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  434. | |void| | :ref:`set_selection_mode<class_TextEdit_method_set_selection_mode>`\ (\ mode\: :ref:`SelectionMode<enum_TextEdit_SelectionMode>`\ ) |
  435. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  436. | |void| | :ref:`set_selection_origin_column<class_TextEdit_method_set_selection_origin_column>`\ (\ column\: :ref:`int<class_int>`, caret_index\: :ref:`int<class_int>` = 0\ ) |
  437. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  438. | |void| | :ref:`set_selection_origin_line<class_TextEdit_method_set_selection_origin_line>`\ (\ line\: :ref:`int<class_int>`, can_be_hidden\: :ref:`bool<class_bool>` = true, wrap_index\: :ref:`int<class_int>` = -1, caret_index\: :ref:`int<class_int>` = 0\ ) |
  439. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  440. | |void| | :ref:`set_tab_size<class_TextEdit_method_set_tab_size>`\ (\ size\: :ref:`int<class_int>`\ ) |
  441. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  442. | |void| | :ref:`set_tooltip_request_func<class_TextEdit_method_set_tooltip_request_func>`\ (\ callback\: :ref:`Callable<class_Callable>`\ ) |
  443. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  444. | |void| | :ref:`skip_selection_for_next_occurrence<class_TextEdit_method_skip_selection_for_next_occurrence>`\ (\ ) |
  445. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  446. | |void| | :ref:`start_action<class_TextEdit_method_start_action>`\ (\ action\: :ref:`EditAction<enum_TextEdit_EditAction>`\ ) |
  447. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  448. | |void| | :ref:`swap_lines<class_TextEdit_method_swap_lines>`\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) |
  449. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  450. | |void| | :ref:`tag_saved_version<class_TextEdit_method_tag_saved_version>`\ (\ ) |
  451. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  452. | |void| | :ref:`undo<class_TextEdit_method_undo>`\ (\ ) |
  453. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  454. .. rst-class:: classref-reftable-group
  455. Theme Properties
  456. ----------------
  457. .. table::
  458. :widths: auto
  459. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  460. | :ref:`Color<class_Color>` | :ref:`background_color<class_TextEdit_theme_color_background_color>` | ``Color(0, 0, 0, 0)`` |
  461. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  462. | :ref:`Color<class_Color>` | :ref:`caret_background_color<class_TextEdit_theme_color_caret_background_color>` | ``Color(0, 0, 0, 1)`` |
  463. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  464. | :ref:`Color<class_Color>` | :ref:`caret_color<class_TextEdit_theme_color_caret_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
  465. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  466. | :ref:`Color<class_Color>` | :ref:`current_line_color<class_TextEdit_theme_color_current_line_color>` | ``Color(0.25, 0.25, 0.26, 0.8)`` |
  467. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  468. | :ref:`Color<class_Color>` | :ref:`font_color<class_TextEdit_theme_color_font_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
  469. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  470. | :ref:`Color<class_Color>` | :ref:`font_outline_color<class_TextEdit_theme_color_font_outline_color>` | ``Color(0, 0, 0, 1)`` |
  471. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  472. | :ref:`Color<class_Color>` | :ref:`font_placeholder_color<class_TextEdit_theme_color_font_placeholder_color>` | ``Color(0.875, 0.875, 0.875, 0.6)`` |
  473. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  474. | :ref:`Color<class_Color>` | :ref:`font_readonly_color<class_TextEdit_theme_color_font_readonly_color>` | ``Color(0.875, 0.875, 0.875, 0.5)`` |
  475. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  476. | :ref:`Color<class_Color>` | :ref:`font_selected_color<class_TextEdit_theme_color_font_selected_color>` | ``Color(0, 0, 0, 0)`` |
  477. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  478. | :ref:`Color<class_Color>` | :ref:`search_result_border_color<class_TextEdit_theme_color_search_result_border_color>` | ``Color(0.3, 0.3, 0.3, 0.4)`` |
  479. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  480. | :ref:`Color<class_Color>` | :ref:`search_result_color<class_TextEdit_theme_color_search_result_color>` | ``Color(0.3, 0.3, 0.3, 1)`` |
  481. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  482. | :ref:`Color<class_Color>` | :ref:`selection_color<class_TextEdit_theme_color_selection_color>` | ``Color(0.5, 0.5, 0.5, 1)`` |
  483. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  484. | :ref:`Color<class_Color>` | :ref:`word_highlighted_color<class_TextEdit_theme_color_word_highlighted_color>` | ``Color(0.5, 0.5, 0.5, 0.25)`` |
  485. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  486. | :ref:`int<class_int>` | :ref:`caret_width<class_TextEdit_theme_constant_caret_width>` | ``1`` |
  487. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  488. | :ref:`int<class_int>` | :ref:`line_spacing<class_TextEdit_theme_constant_line_spacing>` | ``4`` |
  489. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  490. | :ref:`int<class_int>` | :ref:`outline_size<class_TextEdit_theme_constant_outline_size>` | ``0`` |
  491. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  492. | :ref:`Font<class_Font>` | :ref:`font<class_TextEdit_theme_font_font>` | |
  493. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  494. | :ref:`int<class_int>` | :ref:`font_size<class_TextEdit_theme_font_size_font_size>` | |
  495. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  496. | :ref:`Texture2D<class_Texture2D>` | :ref:`space<class_TextEdit_theme_icon_space>` | |
  497. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  498. | :ref:`Texture2D<class_Texture2D>` | :ref:`tab<class_TextEdit_theme_icon_tab>` | |
  499. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  500. | :ref:`StyleBox<class_StyleBox>` | :ref:`focus<class_TextEdit_theme_style_focus>` | |
  501. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  502. | :ref:`StyleBox<class_StyleBox>` | :ref:`normal<class_TextEdit_theme_style_normal>` | |
  503. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  504. | :ref:`StyleBox<class_StyleBox>` | :ref:`read_only<class_TextEdit_theme_style_read_only>` | |
  505. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  506. .. rst-class:: classref-section-separator
  507. ----
  508. .. rst-class:: classref-descriptions-group
  509. Signals
  510. -------
  511. .. _class_TextEdit_signal_caret_changed:
  512. .. rst-class:: classref-signal
  513. **caret_changed**\ (\ ) :ref:`🔗<class_TextEdit_signal_caret_changed>`
  514. Emitted when any caret changes position.
  515. .. rst-class:: classref-item-separator
  516. ----
  517. .. _class_TextEdit_signal_gutter_added:
  518. .. rst-class:: classref-signal
  519. **gutter_added**\ (\ ) :ref:`🔗<class_TextEdit_signal_gutter_added>`
  520. Emitted when a gutter is added.
  521. .. rst-class:: classref-item-separator
  522. ----
  523. .. _class_TextEdit_signal_gutter_clicked:
  524. .. rst-class:: classref-signal
  525. **gutter_clicked**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_signal_gutter_clicked>`
  526. Emitted when a gutter is clicked.
  527. .. rst-class:: classref-item-separator
  528. ----
  529. .. _class_TextEdit_signal_gutter_removed:
  530. .. rst-class:: classref-signal
  531. **gutter_removed**\ (\ ) :ref:`🔗<class_TextEdit_signal_gutter_removed>`
  532. Emitted when a gutter is removed.
  533. .. rst-class:: classref-item-separator
  534. ----
  535. .. _class_TextEdit_signal_lines_edited_from:
  536. .. rst-class:: classref-signal
  537. **lines_edited_from**\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_signal_lines_edited_from>`
  538. Emitted immediately when the text changes.
  539. When text is added ``from_line`` will be less than ``to_line``. On a remove ``to_line`` will be less than ``from_line``.
  540. .. rst-class:: classref-item-separator
  541. ----
  542. .. _class_TextEdit_signal_text_changed:
  543. .. rst-class:: classref-signal
  544. **text_changed**\ (\ ) :ref:`🔗<class_TextEdit_signal_text_changed>`
  545. Emitted when the text changes.
  546. .. rst-class:: classref-item-separator
  547. ----
  548. .. _class_TextEdit_signal_text_set:
  549. .. rst-class:: classref-signal
  550. **text_set**\ (\ ) :ref:`🔗<class_TextEdit_signal_text_set>`
  551. Emitted when :ref:`clear()<class_TextEdit_method_clear>` is called or :ref:`text<class_TextEdit_property_text>` is set.
  552. .. rst-class:: classref-section-separator
  553. ----
  554. .. rst-class:: classref-descriptions-group
  555. Enumerations
  556. ------------
  557. .. _enum_TextEdit_MenuItems:
  558. .. rst-class:: classref-enumeration
  559. enum **MenuItems**: :ref:`🔗<enum_TextEdit_MenuItems>`
  560. .. _class_TextEdit_constant_MENU_CUT:
  561. .. rst-class:: classref-enumeration-constant
  562. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_CUT** = ``0``
  563. Cuts (copies and clears) the selected text.
  564. .. _class_TextEdit_constant_MENU_COPY:
  565. .. rst-class:: classref-enumeration-constant
  566. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_COPY** = ``1``
  567. Copies the selected text.
  568. .. _class_TextEdit_constant_MENU_PASTE:
  569. .. rst-class:: classref-enumeration-constant
  570. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_PASTE** = ``2``
  571. Pastes the clipboard text over the selected text (or at the cursor's position).
  572. .. _class_TextEdit_constant_MENU_CLEAR:
  573. .. rst-class:: classref-enumeration-constant
  574. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_CLEAR** = ``3``
  575. Erases the whole **TextEdit** text.
  576. .. _class_TextEdit_constant_MENU_SELECT_ALL:
  577. .. rst-class:: classref-enumeration-constant
  578. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_SELECT_ALL** = ``4``
  579. Selects the whole **TextEdit** text.
  580. .. _class_TextEdit_constant_MENU_UNDO:
  581. .. rst-class:: classref-enumeration-constant
  582. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_UNDO** = ``5``
  583. Undoes the previous action.
  584. .. _class_TextEdit_constant_MENU_REDO:
  585. .. rst-class:: classref-enumeration-constant
  586. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_REDO** = ``6``
  587. Redoes the previous action.
  588. .. _class_TextEdit_constant_MENU_SUBMENU_TEXT_DIR:
  589. .. rst-class:: classref-enumeration-constant
  590. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_SUBMENU_TEXT_DIR** = ``7``
  591. ID of "Text Writing Direction" submenu.
  592. .. _class_TextEdit_constant_MENU_DIR_INHERITED:
  593. .. rst-class:: classref-enumeration-constant
  594. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_INHERITED** = ``8``
  595. Sets text direction to inherited.
  596. .. _class_TextEdit_constant_MENU_DIR_AUTO:
  597. .. rst-class:: classref-enumeration-constant
  598. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_AUTO** = ``9``
  599. Sets text direction to automatic.
  600. .. _class_TextEdit_constant_MENU_DIR_LTR:
  601. .. rst-class:: classref-enumeration-constant
  602. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_LTR** = ``10``
  603. Sets text direction to left-to-right.
  604. .. _class_TextEdit_constant_MENU_DIR_RTL:
  605. .. rst-class:: classref-enumeration-constant
  606. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_RTL** = ``11``
  607. Sets text direction to right-to-left.
  608. .. _class_TextEdit_constant_MENU_DISPLAY_UCC:
  609. .. rst-class:: classref-enumeration-constant
  610. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DISPLAY_UCC** = ``12``
  611. Toggles control character display.
  612. .. _class_TextEdit_constant_MENU_SUBMENU_INSERT_UCC:
  613. .. rst-class:: classref-enumeration-constant
  614. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_SUBMENU_INSERT_UCC** = ``13``
  615. ID of "Insert Control Character" submenu.
  616. .. _class_TextEdit_constant_MENU_INSERT_LRM:
  617. .. rst-class:: classref-enumeration-constant
  618. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_LRM** = ``14``
  619. Inserts left-to-right mark (LRM) character.
  620. .. _class_TextEdit_constant_MENU_INSERT_RLM:
  621. .. rst-class:: classref-enumeration-constant
  622. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_RLM** = ``15``
  623. Inserts right-to-left mark (RLM) character.
  624. .. _class_TextEdit_constant_MENU_INSERT_LRE:
  625. .. rst-class:: classref-enumeration-constant
  626. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_LRE** = ``16``
  627. Inserts start of left-to-right embedding (LRE) character.
  628. .. _class_TextEdit_constant_MENU_INSERT_RLE:
  629. .. rst-class:: classref-enumeration-constant
  630. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_RLE** = ``17``
  631. Inserts start of right-to-left embedding (RLE) character.
  632. .. _class_TextEdit_constant_MENU_INSERT_LRO:
  633. .. rst-class:: classref-enumeration-constant
  634. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_LRO** = ``18``
  635. Inserts start of left-to-right override (LRO) character.
  636. .. _class_TextEdit_constant_MENU_INSERT_RLO:
  637. .. rst-class:: classref-enumeration-constant
  638. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_RLO** = ``19``
  639. Inserts start of right-to-left override (RLO) character.
  640. .. _class_TextEdit_constant_MENU_INSERT_PDF:
  641. .. rst-class:: classref-enumeration-constant
  642. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_PDF** = ``20``
  643. Inserts pop direction formatting (PDF) character.
  644. .. _class_TextEdit_constant_MENU_INSERT_ALM:
  645. .. rst-class:: classref-enumeration-constant
  646. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_ALM** = ``21``
  647. Inserts Arabic letter mark (ALM) character.
  648. .. _class_TextEdit_constant_MENU_INSERT_LRI:
  649. .. rst-class:: classref-enumeration-constant
  650. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_LRI** = ``22``
  651. Inserts left-to-right isolate (LRI) character.
  652. .. _class_TextEdit_constant_MENU_INSERT_RLI:
  653. .. rst-class:: classref-enumeration-constant
  654. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_RLI** = ``23``
  655. Inserts right-to-left isolate (RLI) character.
  656. .. _class_TextEdit_constant_MENU_INSERT_FSI:
  657. .. rst-class:: classref-enumeration-constant
  658. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_FSI** = ``24``
  659. Inserts first strong isolate (FSI) character.
  660. .. _class_TextEdit_constant_MENU_INSERT_PDI:
  661. .. rst-class:: classref-enumeration-constant
  662. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_PDI** = ``25``
  663. Inserts pop direction isolate (PDI) character.
  664. .. _class_TextEdit_constant_MENU_INSERT_ZWJ:
  665. .. rst-class:: classref-enumeration-constant
  666. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_ZWJ** = ``26``
  667. Inserts zero width joiner (ZWJ) character.
  668. .. _class_TextEdit_constant_MENU_INSERT_ZWNJ:
  669. .. rst-class:: classref-enumeration-constant
  670. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_ZWNJ** = ``27``
  671. Inserts zero width non-joiner (ZWNJ) character.
  672. .. _class_TextEdit_constant_MENU_INSERT_WJ:
  673. .. rst-class:: classref-enumeration-constant
  674. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_WJ** = ``28``
  675. Inserts word joiner (WJ) character.
  676. .. _class_TextEdit_constant_MENU_INSERT_SHY:
  677. .. rst-class:: classref-enumeration-constant
  678. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_SHY** = ``29``
  679. Inserts soft hyphen (SHY) character.
  680. .. _class_TextEdit_constant_MENU_EMOJI_AND_SYMBOL:
  681. .. rst-class:: classref-enumeration-constant
  682. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_EMOJI_AND_SYMBOL** = ``30``
  683. Opens system emoji and symbol picker.
  684. .. _class_TextEdit_constant_MENU_MAX:
  685. .. rst-class:: classref-enumeration-constant
  686. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_MAX** = ``31``
  687. Represents the size of the :ref:`MenuItems<enum_TextEdit_MenuItems>` enum.
  688. .. rst-class:: classref-item-separator
  689. ----
  690. .. _enum_TextEdit_EditAction:
  691. .. rst-class:: classref-enumeration
  692. enum **EditAction**: :ref:`🔗<enum_TextEdit_EditAction>`
  693. .. _class_TextEdit_constant_ACTION_NONE:
  694. .. rst-class:: classref-enumeration-constant
  695. :ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_NONE** = ``0``
  696. No current action.
  697. .. _class_TextEdit_constant_ACTION_TYPING:
  698. .. rst-class:: classref-enumeration-constant
  699. :ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_TYPING** = ``1``
  700. A typing action.
  701. .. _class_TextEdit_constant_ACTION_BACKSPACE:
  702. .. rst-class:: classref-enumeration-constant
  703. :ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_BACKSPACE** = ``2``
  704. A backwards delete action.
  705. .. _class_TextEdit_constant_ACTION_DELETE:
  706. .. rst-class:: classref-enumeration-constant
  707. :ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_DELETE** = ``3``
  708. A forward delete action.
  709. .. rst-class:: classref-item-separator
  710. ----
  711. .. _enum_TextEdit_SearchFlags:
  712. .. rst-class:: classref-enumeration
  713. enum **SearchFlags**: :ref:`🔗<enum_TextEdit_SearchFlags>`
  714. .. _class_TextEdit_constant_SEARCH_MATCH_CASE:
  715. .. rst-class:: classref-enumeration-constant
  716. :ref:`SearchFlags<enum_TextEdit_SearchFlags>` **SEARCH_MATCH_CASE** = ``1``
  717. Match case when searching.
  718. .. _class_TextEdit_constant_SEARCH_WHOLE_WORDS:
  719. .. rst-class:: classref-enumeration-constant
  720. :ref:`SearchFlags<enum_TextEdit_SearchFlags>` **SEARCH_WHOLE_WORDS** = ``2``
  721. Match whole words when searching.
  722. .. _class_TextEdit_constant_SEARCH_BACKWARDS:
  723. .. rst-class:: classref-enumeration-constant
  724. :ref:`SearchFlags<enum_TextEdit_SearchFlags>` **SEARCH_BACKWARDS** = ``4``
  725. Search from end to beginning.
  726. .. rst-class:: classref-item-separator
  727. ----
  728. .. _enum_TextEdit_CaretType:
  729. .. rst-class:: classref-enumeration
  730. enum **CaretType**: :ref:`🔗<enum_TextEdit_CaretType>`
  731. .. _class_TextEdit_constant_CARET_TYPE_LINE:
  732. .. rst-class:: classref-enumeration-constant
  733. :ref:`CaretType<enum_TextEdit_CaretType>` **CARET_TYPE_LINE** = ``0``
  734. Vertical line caret.
  735. .. _class_TextEdit_constant_CARET_TYPE_BLOCK:
  736. .. rst-class:: classref-enumeration-constant
  737. :ref:`CaretType<enum_TextEdit_CaretType>` **CARET_TYPE_BLOCK** = ``1``
  738. Block caret.
  739. .. rst-class:: classref-item-separator
  740. ----
  741. .. _enum_TextEdit_SelectionMode:
  742. .. rst-class:: classref-enumeration
  743. enum **SelectionMode**: :ref:`🔗<enum_TextEdit_SelectionMode>`
  744. .. _class_TextEdit_constant_SELECTION_MODE_NONE:
  745. .. rst-class:: classref-enumeration-constant
  746. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_NONE** = ``0``
  747. Not selecting.
  748. .. _class_TextEdit_constant_SELECTION_MODE_SHIFT:
  749. .. rst-class:: classref-enumeration-constant
  750. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_SHIFT** = ``1``
  751. Select as if ``shift`` is pressed.
  752. .. _class_TextEdit_constant_SELECTION_MODE_POINTER:
  753. .. rst-class:: classref-enumeration-constant
  754. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_POINTER** = ``2``
  755. Select single characters as if the user single clicked.
  756. .. _class_TextEdit_constant_SELECTION_MODE_WORD:
  757. .. rst-class:: classref-enumeration-constant
  758. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_WORD** = ``3``
  759. Select whole words as if the user double clicked.
  760. .. _class_TextEdit_constant_SELECTION_MODE_LINE:
  761. .. rst-class:: classref-enumeration-constant
  762. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_LINE** = ``4``
  763. Select whole lines as if the user triple clicked.
  764. .. rst-class:: classref-item-separator
  765. ----
  766. .. _enum_TextEdit_LineWrappingMode:
  767. .. rst-class:: classref-enumeration
  768. enum **LineWrappingMode**: :ref:`🔗<enum_TextEdit_LineWrappingMode>`
  769. .. _class_TextEdit_constant_LINE_WRAPPING_NONE:
  770. .. rst-class:: classref-enumeration-constant
  771. :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **LINE_WRAPPING_NONE** = ``0``
  772. Line wrapping is disabled.
  773. .. _class_TextEdit_constant_LINE_WRAPPING_BOUNDARY:
  774. .. rst-class:: classref-enumeration-constant
  775. :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **LINE_WRAPPING_BOUNDARY** = ``1``
  776. Line wrapping occurs at the control boundary, beyond what would normally be visible.
  777. .. rst-class:: classref-item-separator
  778. ----
  779. .. _enum_TextEdit_GutterType:
  780. .. rst-class:: classref-enumeration
  781. enum **GutterType**: :ref:`🔗<enum_TextEdit_GutterType>`
  782. .. _class_TextEdit_constant_GUTTER_TYPE_STRING:
  783. .. rst-class:: classref-enumeration-constant
  784. :ref:`GutterType<enum_TextEdit_GutterType>` **GUTTER_TYPE_STRING** = ``0``
  785. When a gutter is set to string using :ref:`set_gutter_type()<class_TextEdit_method_set_gutter_type>`, it is used to contain text set via the :ref:`set_line_gutter_text()<class_TextEdit_method_set_line_gutter_text>` method.
  786. .. _class_TextEdit_constant_GUTTER_TYPE_ICON:
  787. .. rst-class:: classref-enumeration-constant
  788. :ref:`GutterType<enum_TextEdit_GutterType>` **GUTTER_TYPE_ICON** = ``1``
  789. When a gutter is set to icon using :ref:`set_gutter_type()<class_TextEdit_method_set_gutter_type>`, it is used to contain an icon set via the :ref:`set_line_gutter_icon()<class_TextEdit_method_set_line_gutter_icon>` method.
  790. .. _class_TextEdit_constant_GUTTER_TYPE_CUSTOM:
  791. .. rst-class:: classref-enumeration-constant
  792. :ref:`GutterType<enum_TextEdit_GutterType>` **GUTTER_TYPE_CUSTOM** = ``2``
  793. When a gutter is set to custom using :ref:`set_gutter_type()<class_TextEdit_method_set_gutter_type>`, it is used to contain custom visuals controlled by a callback method set via the :ref:`set_gutter_custom_draw()<class_TextEdit_method_set_gutter_custom_draw>` method.
  794. .. rst-class:: classref-section-separator
  795. ----
  796. .. rst-class:: classref-descriptions-group
  797. Property Descriptions
  798. ---------------------
  799. .. _class_TextEdit_property_autowrap_mode:
  800. .. rst-class:: classref-property
  801. :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` **autowrap_mode** = ``3`` :ref:`🔗<class_TextEdit_property_autowrap_mode>`
  802. .. rst-class:: classref-property-setget
  803. - |void| **set_autowrap_mode**\ (\ value\: :ref:`AutowrapMode<enum_TextServer_AutowrapMode>`\ )
  804. - :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` **get_autowrap_mode**\ (\ )
  805. If :ref:`wrap_mode<class_TextEdit_property_wrap_mode>` is set to :ref:`LINE_WRAPPING_BOUNDARY<class_TextEdit_constant_LINE_WRAPPING_BOUNDARY>`, sets text wrapping mode.
  806. .. rst-class:: classref-item-separator
  807. ----
  808. .. _class_TextEdit_property_backspace_deletes_composite_character_enabled:
  809. .. rst-class:: classref-property
  810. :ref:`bool<class_bool>` **backspace_deletes_composite_character_enabled** = ``false`` :ref:`🔗<class_TextEdit_property_backspace_deletes_composite_character_enabled>`
  811. .. rst-class:: classref-property-setget
  812. - |void| **set_backspace_deletes_composite_character_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  813. - :ref:`bool<class_bool>` **is_backspace_deletes_composite_character_enabled**\ (\ )
  814. If ``true`` and :ref:`caret_mid_grapheme<class_TextEdit_property_caret_mid_grapheme>` is ``false``, backspace deletes an entire composite character such as ❤️‍🩹, instead of deleting part of the composite character.
  815. .. rst-class:: classref-item-separator
  816. ----
  817. .. _class_TextEdit_property_caret_blink:
  818. .. rst-class:: classref-property
  819. :ref:`bool<class_bool>` **caret_blink** = ``false`` :ref:`🔗<class_TextEdit_property_caret_blink>`
  820. .. rst-class:: classref-property-setget
  821. - |void| **set_caret_blink_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  822. - :ref:`bool<class_bool>` **is_caret_blink_enabled**\ (\ )
  823. If ``true``, makes the caret blink.
  824. .. rst-class:: classref-item-separator
  825. ----
  826. .. _class_TextEdit_property_caret_blink_interval:
  827. .. rst-class:: classref-property
  828. :ref:`float<class_float>` **caret_blink_interval** = ``0.65`` :ref:`🔗<class_TextEdit_property_caret_blink_interval>`
  829. .. rst-class:: classref-property-setget
  830. - |void| **set_caret_blink_interval**\ (\ value\: :ref:`float<class_float>`\ )
  831. - :ref:`float<class_float>` **get_caret_blink_interval**\ (\ )
  832. The interval at which the caret blinks (in seconds).
  833. .. rst-class:: classref-item-separator
  834. ----
  835. .. _class_TextEdit_property_caret_draw_when_editable_disabled:
  836. .. rst-class:: classref-property
  837. :ref:`bool<class_bool>` **caret_draw_when_editable_disabled** = ``false`` :ref:`🔗<class_TextEdit_property_caret_draw_when_editable_disabled>`
  838. .. rst-class:: classref-property-setget
  839. - |void| **set_draw_caret_when_editable_disabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  840. - :ref:`bool<class_bool>` **is_drawing_caret_when_editable_disabled**\ (\ )
  841. If ``true``, caret will be visible when :ref:`editable<class_TextEdit_property_editable>` is disabled.
  842. .. rst-class:: classref-item-separator
  843. ----
  844. .. _class_TextEdit_property_caret_mid_grapheme:
  845. .. rst-class:: classref-property
  846. :ref:`bool<class_bool>` **caret_mid_grapheme** = ``false`` :ref:`🔗<class_TextEdit_property_caret_mid_grapheme>`
  847. .. rst-class:: classref-property-setget
  848. - |void| **set_caret_mid_grapheme_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  849. - :ref:`bool<class_bool>` **is_caret_mid_grapheme_enabled**\ (\ )
  850. Allow moving caret, selecting and removing the individual composite character components.
  851. \ **Note:** :kbd:`Backspace` is always removing individual composite character components.
  852. .. rst-class:: classref-item-separator
  853. ----
  854. .. _class_TextEdit_property_caret_move_on_right_click:
  855. .. rst-class:: classref-property
  856. :ref:`bool<class_bool>` **caret_move_on_right_click** = ``true`` :ref:`🔗<class_TextEdit_property_caret_move_on_right_click>`
  857. .. rst-class:: classref-property-setget
  858. - |void| **set_move_caret_on_right_click_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  859. - :ref:`bool<class_bool>` **is_move_caret_on_right_click_enabled**\ (\ )
  860. If ``true``, a right-click moves the caret at the mouse position before displaying the context menu.
  861. If ``false``, the context menu ignores mouse location.
  862. .. rst-class:: classref-item-separator
  863. ----
  864. .. _class_TextEdit_property_caret_multiple:
  865. .. rst-class:: classref-property
  866. :ref:`bool<class_bool>` **caret_multiple** = ``true`` :ref:`🔗<class_TextEdit_property_caret_multiple>`
  867. .. rst-class:: classref-property-setget
  868. - |void| **set_multiple_carets_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  869. - :ref:`bool<class_bool>` **is_multiple_carets_enabled**\ (\ )
  870. If ``true``, multiple carets are allowed. Left-clicking with :kbd:`Alt` adds a new caret. See :ref:`add_caret()<class_TextEdit_method_add_caret>` and :ref:`get_caret_count()<class_TextEdit_method_get_caret_count>`.
  871. .. rst-class:: classref-item-separator
  872. ----
  873. .. _class_TextEdit_property_caret_type:
  874. .. rst-class:: classref-property
  875. :ref:`CaretType<enum_TextEdit_CaretType>` **caret_type** = ``0`` :ref:`🔗<class_TextEdit_property_caret_type>`
  876. .. rst-class:: classref-property-setget
  877. - |void| **set_caret_type**\ (\ value\: :ref:`CaretType<enum_TextEdit_CaretType>`\ )
  878. - :ref:`CaretType<enum_TextEdit_CaretType>` **get_caret_type**\ (\ )
  879. Set the type of caret to draw.
  880. .. rst-class:: classref-item-separator
  881. ----
  882. .. _class_TextEdit_property_context_menu_enabled:
  883. .. rst-class:: classref-property
  884. :ref:`bool<class_bool>` **context_menu_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_context_menu_enabled>`
  885. .. rst-class:: classref-property-setget
  886. - |void| **set_context_menu_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  887. - :ref:`bool<class_bool>` **is_context_menu_enabled**\ (\ )
  888. If ``true``, a right-click displays the context menu.
  889. .. rst-class:: classref-item-separator
  890. ----
  891. .. _class_TextEdit_property_custom_word_separators:
  892. .. rst-class:: classref-property
  893. :ref:`String<class_String>` **custom_word_separators** = ``""`` :ref:`🔗<class_TextEdit_property_custom_word_separators>`
  894. .. rst-class:: classref-property-setget
  895. - |void| **set_custom_word_separators**\ (\ value\: :ref:`String<class_String>`\ )
  896. - :ref:`String<class_String>` **get_custom_word_separators**\ (\ )
  897. The characters to consider as word delimiters if :ref:`use_custom_word_separators<class_TextEdit_property_use_custom_word_separators>` is ``true``. The characters should be defined without separation, for example ``#_!``.
  898. .. rst-class:: classref-item-separator
  899. ----
  900. .. _class_TextEdit_property_deselect_on_focus_loss_enabled:
  901. .. rst-class:: classref-property
  902. :ref:`bool<class_bool>` **deselect_on_focus_loss_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_deselect_on_focus_loss_enabled>`
  903. .. rst-class:: classref-property-setget
  904. - |void| **set_deselect_on_focus_loss_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  905. - :ref:`bool<class_bool>` **is_deselect_on_focus_loss_enabled**\ (\ )
  906. If ``true``, the selected text will be deselected when focus is lost.
  907. .. rst-class:: classref-item-separator
  908. ----
  909. .. _class_TextEdit_property_drag_and_drop_selection_enabled:
  910. .. rst-class:: classref-property
  911. :ref:`bool<class_bool>` **drag_and_drop_selection_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_drag_and_drop_selection_enabled>`
  912. .. rst-class:: classref-property-setget
  913. - |void| **set_drag_and_drop_selection_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  914. - :ref:`bool<class_bool>` **is_drag_and_drop_selection_enabled**\ (\ )
  915. If ``true``, allow drag and drop of selected text. Text can still be dropped from other sources.
  916. .. rst-class:: classref-item-separator
  917. ----
  918. .. _class_TextEdit_property_draw_control_chars:
  919. .. rst-class:: classref-property
  920. :ref:`bool<class_bool>` **draw_control_chars** = ``false`` :ref:`🔗<class_TextEdit_property_draw_control_chars>`
  921. .. rst-class:: classref-property-setget
  922. - |void| **set_draw_control_chars**\ (\ value\: :ref:`bool<class_bool>`\ )
  923. - :ref:`bool<class_bool>` **get_draw_control_chars**\ (\ )
  924. If ``true``, control characters are displayed.
  925. .. rst-class:: classref-item-separator
  926. ----
  927. .. _class_TextEdit_property_draw_spaces:
  928. .. rst-class:: classref-property
  929. :ref:`bool<class_bool>` **draw_spaces** = ``false`` :ref:`🔗<class_TextEdit_property_draw_spaces>`
  930. .. rst-class:: classref-property-setget
  931. - |void| **set_draw_spaces**\ (\ value\: :ref:`bool<class_bool>`\ )
  932. - :ref:`bool<class_bool>` **is_drawing_spaces**\ (\ )
  933. If ``true``, the "space" character will have a visible representation.
  934. .. rst-class:: classref-item-separator
  935. ----
  936. .. _class_TextEdit_property_draw_tabs:
  937. .. rst-class:: classref-property
  938. :ref:`bool<class_bool>` **draw_tabs** = ``false`` :ref:`🔗<class_TextEdit_property_draw_tabs>`
  939. .. rst-class:: classref-property-setget
  940. - |void| **set_draw_tabs**\ (\ value\: :ref:`bool<class_bool>`\ )
  941. - :ref:`bool<class_bool>` **is_drawing_tabs**\ (\ )
  942. If ``true``, the "tab" character will have a visible representation.
  943. .. rst-class:: classref-item-separator
  944. ----
  945. .. _class_TextEdit_property_editable:
  946. .. rst-class:: classref-property
  947. :ref:`bool<class_bool>` **editable** = ``true`` :ref:`🔗<class_TextEdit_property_editable>`
  948. .. rst-class:: classref-property-setget
  949. - |void| **set_editable**\ (\ value\: :ref:`bool<class_bool>`\ )
  950. - :ref:`bool<class_bool>` **is_editable**\ (\ )
  951. If ``false``, existing text cannot be modified and new text cannot be added.
  952. .. rst-class:: classref-item-separator
  953. ----
  954. .. _class_TextEdit_property_emoji_menu_enabled:
  955. .. rst-class:: classref-property
  956. :ref:`bool<class_bool>` **emoji_menu_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_emoji_menu_enabled>`
  957. .. rst-class:: classref-property-setget
  958. - |void| **set_emoji_menu_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  959. - :ref:`bool<class_bool>` **is_emoji_menu_enabled**\ (\ )
  960. If ``true``, "Emoji and Symbols" menu is enabled.
  961. .. rst-class:: classref-item-separator
  962. ----
  963. .. _class_TextEdit_property_empty_selection_clipboard_enabled:
  964. .. rst-class:: classref-property
  965. :ref:`bool<class_bool>` **empty_selection_clipboard_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_empty_selection_clipboard_enabled>`
  966. .. rst-class:: classref-property-setget
  967. - |void| **set_empty_selection_clipboard_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  968. - :ref:`bool<class_bool>` **is_empty_selection_clipboard_enabled**\ (\ )
  969. If ``true``, copying or cutting without a selection is performed on all lines with a caret. Otherwise, copy and cut require a selection.
  970. .. rst-class:: classref-item-separator
  971. ----
  972. .. _class_TextEdit_property_highlight_all_occurrences:
  973. .. rst-class:: classref-property
  974. :ref:`bool<class_bool>` **highlight_all_occurrences** = ``false`` :ref:`🔗<class_TextEdit_property_highlight_all_occurrences>`
  975. .. rst-class:: classref-property-setget
  976. - |void| **set_highlight_all_occurrences**\ (\ value\: :ref:`bool<class_bool>`\ )
  977. - :ref:`bool<class_bool>` **is_highlight_all_occurrences_enabled**\ (\ )
  978. If ``true``, all occurrences of the selected text will be highlighted.
  979. .. rst-class:: classref-item-separator
  980. ----
  981. .. _class_TextEdit_property_highlight_current_line:
  982. .. rst-class:: classref-property
  983. :ref:`bool<class_bool>` **highlight_current_line** = ``false`` :ref:`🔗<class_TextEdit_property_highlight_current_line>`
  984. .. rst-class:: classref-property-setget
  985. - |void| **set_highlight_current_line**\ (\ value\: :ref:`bool<class_bool>`\ )
  986. - :ref:`bool<class_bool>` **is_highlight_current_line_enabled**\ (\ )
  987. If ``true``, the line containing the cursor is highlighted.
  988. .. rst-class:: classref-item-separator
  989. ----
  990. .. _class_TextEdit_property_indent_wrapped_lines:
  991. .. rst-class:: classref-property
  992. :ref:`bool<class_bool>` **indent_wrapped_lines** = ``false`` :ref:`🔗<class_TextEdit_property_indent_wrapped_lines>`
  993. .. rst-class:: classref-property-setget
  994. - |void| **set_indent_wrapped_lines**\ (\ value\: :ref:`bool<class_bool>`\ )
  995. - :ref:`bool<class_bool>` **is_indent_wrapped_lines**\ (\ )
  996. If ``true``, all wrapped lines are indented to the same amount as the unwrapped line.
  997. .. rst-class:: classref-item-separator
  998. ----
  999. .. _class_TextEdit_property_language:
  1000. .. rst-class:: classref-property
  1001. :ref:`String<class_String>` **language** = ``""`` :ref:`🔗<class_TextEdit_property_language>`
  1002. .. rst-class:: classref-property-setget
  1003. - |void| **set_language**\ (\ value\: :ref:`String<class_String>`\ )
  1004. - :ref:`String<class_String>` **get_language**\ (\ )
  1005. Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
  1006. .. rst-class:: classref-item-separator
  1007. ----
  1008. .. _class_TextEdit_property_middle_mouse_paste_enabled:
  1009. .. rst-class:: classref-property
  1010. :ref:`bool<class_bool>` **middle_mouse_paste_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_middle_mouse_paste_enabled>`
  1011. .. rst-class:: classref-property-setget
  1012. - |void| **set_middle_mouse_paste_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1013. - :ref:`bool<class_bool>` **is_middle_mouse_paste_enabled**\ (\ )
  1014. If ``false``, using middle mouse button to paste clipboard will be disabled.
  1015. \ **Note:** This method is only implemented on Linux.
  1016. .. rst-class:: classref-item-separator
  1017. ----
  1018. .. _class_TextEdit_property_minimap_draw:
  1019. .. rst-class:: classref-property
  1020. :ref:`bool<class_bool>` **minimap_draw** = ``false`` :ref:`🔗<class_TextEdit_property_minimap_draw>`
  1021. .. rst-class:: classref-property-setget
  1022. - |void| **set_draw_minimap**\ (\ value\: :ref:`bool<class_bool>`\ )
  1023. - :ref:`bool<class_bool>` **is_drawing_minimap**\ (\ )
  1024. If ``true``, a minimap is shown, providing an outline of your source code. The minimap uses a fixed-width text size.
  1025. .. rst-class:: classref-item-separator
  1026. ----
  1027. .. _class_TextEdit_property_minimap_width:
  1028. .. rst-class:: classref-property
  1029. :ref:`int<class_int>` **minimap_width** = ``80`` :ref:`🔗<class_TextEdit_property_minimap_width>`
  1030. .. rst-class:: classref-property-setget
  1031. - |void| **set_minimap_width**\ (\ value\: :ref:`int<class_int>`\ )
  1032. - :ref:`int<class_int>` **get_minimap_width**\ (\ )
  1033. The width, in pixels, of the minimap.
  1034. .. rst-class:: classref-item-separator
  1035. ----
  1036. .. _class_TextEdit_property_placeholder_text:
  1037. .. rst-class:: classref-property
  1038. :ref:`String<class_String>` **placeholder_text** = ``""`` :ref:`🔗<class_TextEdit_property_placeholder_text>`
  1039. .. rst-class:: classref-property-setget
  1040. - |void| **set_placeholder**\ (\ value\: :ref:`String<class_String>`\ )
  1041. - :ref:`String<class_String>` **get_placeholder**\ (\ )
  1042. Text shown when the **TextEdit** is empty. It is **not** the **TextEdit**'s default value (see :ref:`text<class_TextEdit_property_text>`).
  1043. .. rst-class:: classref-item-separator
  1044. ----
  1045. .. _class_TextEdit_property_scroll_fit_content_height:
  1046. .. rst-class:: classref-property
  1047. :ref:`bool<class_bool>` **scroll_fit_content_height** = ``false`` :ref:`🔗<class_TextEdit_property_scroll_fit_content_height>`
  1048. .. rst-class:: classref-property-setget
  1049. - |void| **set_fit_content_height_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1050. - :ref:`bool<class_bool>` **is_fit_content_height_enabled**\ (\ )
  1051. If ``true``, **TextEdit** will disable vertical scroll and fit minimum height to the number of visible lines. When both this property and :ref:`scroll_fit_content_width<class_TextEdit_property_scroll_fit_content_width>` are ``true``, no scrollbars will be displayed.
  1052. .. rst-class:: classref-item-separator
  1053. ----
  1054. .. _class_TextEdit_property_scroll_fit_content_width:
  1055. .. rst-class:: classref-property
  1056. :ref:`bool<class_bool>` **scroll_fit_content_width** = ``false`` :ref:`🔗<class_TextEdit_property_scroll_fit_content_width>`
  1057. .. rst-class:: classref-property-setget
  1058. - |void| **set_fit_content_width_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1059. - :ref:`bool<class_bool>` **is_fit_content_width_enabled**\ (\ )
  1060. If ``true``, **TextEdit** will disable horizontal scroll and fit minimum width to the widest line in the text. When both this property and :ref:`scroll_fit_content_height<class_TextEdit_property_scroll_fit_content_height>` are ``true``, no scrollbars will be displayed.
  1061. .. rst-class:: classref-item-separator
  1062. ----
  1063. .. _class_TextEdit_property_scroll_horizontal:
  1064. .. rst-class:: classref-property
  1065. :ref:`int<class_int>` **scroll_horizontal** = ``0`` :ref:`🔗<class_TextEdit_property_scroll_horizontal>`
  1066. .. rst-class:: classref-property-setget
  1067. - |void| **set_h_scroll**\ (\ value\: :ref:`int<class_int>`\ )
  1068. - :ref:`int<class_int>` **get_h_scroll**\ (\ )
  1069. If there is a horizontal scrollbar, this determines the current horizontal scroll value in pixels.
  1070. .. rst-class:: classref-item-separator
  1071. ----
  1072. .. _class_TextEdit_property_scroll_past_end_of_file:
  1073. .. rst-class:: classref-property
  1074. :ref:`bool<class_bool>` **scroll_past_end_of_file** = ``false`` :ref:`🔗<class_TextEdit_property_scroll_past_end_of_file>`
  1075. .. rst-class:: classref-property-setget
  1076. - |void| **set_scroll_past_end_of_file_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1077. - :ref:`bool<class_bool>` **is_scroll_past_end_of_file_enabled**\ (\ )
  1078. Allow scrolling past the last line into "virtual" space.
  1079. .. rst-class:: classref-item-separator
  1080. ----
  1081. .. _class_TextEdit_property_scroll_smooth:
  1082. .. rst-class:: classref-property
  1083. :ref:`bool<class_bool>` **scroll_smooth** = ``false`` :ref:`🔗<class_TextEdit_property_scroll_smooth>`
  1084. .. rst-class:: classref-property-setget
  1085. - |void| **set_smooth_scroll_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1086. - :ref:`bool<class_bool>` **is_smooth_scroll_enabled**\ (\ )
  1087. Scroll smoothly over the text rather than jumping to the next location.
  1088. .. rst-class:: classref-item-separator
  1089. ----
  1090. .. _class_TextEdit_property_scroll_v_scroll_speed:
  1091. .. rst-class:: classref-property
  1092. :ref:`float<class_float>` **scroll_v_scroll_speed** = ``80.0`` :ref:`🔗<class_TextEdit_property_scroll_v_scroll_speed>`
  1093. .. rst-class:: classref-property-setget
  1094. - |void| **set_v_scroll_speed**\ (\ value\: :ref:`float<class_float>`\ )
  1095. - :ref:`float<class_float>` **get_v_scroll_speed**\ (\ )
  1096. Sets the scroll speed with the minimap or when :ref:`scroll_smooth<class_TextEdit_property_scroll_smooth>` is enabled.
  1097. .. rst-class:: classref-item-separator
  1098. ----
  1099. .. _class_TextEdit_property_scroll_vertical:
  1100. .. rst-class:: classref-property
  1101. :ref:`float<class_float>` **scroll_vertical** = ``0.0`` :ref:`🔗<class_TextEdit_property_scroll_vertical>`
  1102. .. rst-class:: classref-property-setget
  1103. - |void| **set_v_scroll**\ (\ value\: :ref:`float<class_float>`\ )
  1104. - :ref:`float<class_float>` **get_v_scroll**\ (\ )
  1105. If there is a vertical scrollbar, this determines the current vertical scroll value in line numbers, starting at 0 for the top line.
  1106. .. rst-class:: classref-item-separator
  1107. ----
  1108. .. _class_TextEdit_property_selecting_enabled:
  1109. .. rst-class:: classref-property
  1110. :ref:`bool<class_bool>` **selecting_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_selecting_enabled>`
  1111. .. rst-class:: classref-property-setget
  1112. - |void| **set_selecting_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1113. - :ref:`bool<class_bool>` **is_selecting_enabled**\ (\ )
  1114. If ``true``, text can be selected.
  1115. If ``false``, text can not be selected by the user or by the :ref:`select()<class_TextEdit_method_select>` or :ref:`select_all()<class_TextEdit_method_select_all>` methods.
  1116. .. rst-class:: classref-item-separator
  1117. ----
  1118. .. _class_TextEdit_property_shortcut_keys_enabled:
  1119. .. rst-class:: classref-property
  1120. :ref:`bool<class_bool>` **shortcut_keys_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_shortcut_keys_enabled>`
  1121. .. rst-class:: classref-property-setget
  1122. - |void| **set_shortcut_keys_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1123. - :ref:`bool<class_bool>` **is_shortcut_keys_enabled**\ (\ )
  1124. If ``true``, shortcut keys for context menu items are enabled, even if the context menu is disabled.
  1125. .. rst-class:: classref-item-separator
  1126. ----
  1127. .. _class_TextEdit_property_structured_text_bidi_override:
  1128. .. rst-class:: classref-property
  1129. :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **structured_text_bidi_override** = ``0`` :ref:`🔗<class_TextEdit_property_structured_text_bidi_override>`
  1130. .. rst-class:: classref-property-setget
  1131. - |void| **set_structured_text_bidi_override**\ (\ value\: :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>`\ )
  1132. - :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **get_structured_text_bidi_override**\ (\ )
  1133. Set BiDi algorithm override for the structured text.
  1134. .. rst-class:: classref-item-separator
  1135. ----
  1136. .. _class_TextEdit_property_structured_text_bidi_override_options:
  1137. .. rst-class:: classref-property
  1138. :ref:`Array<class_Array>` **structured_text_bidi_override_options** = ``[]`` :ref:`🔗<class_TextEdit_property_structured_text_bidi_override_options>`
  1139. .. rst-class:: classref-property-setget
  1140. - |void| **set_structured_text_bidi_override_options**\ (\ value\: :ref:`Array<class_Array>`\ )
  1141. - :ref:`Array<class_Array>` **get_structured_text_bidi_override_options**\ (\ )
  1142. Set additional options for BiDi override.
  1143. .. rst-class:: classref-item-separator
  1144. ----
  1145. .. _class_TextEdit_property_syntax_highlighter:
  1146. .. rst-class:: classref-property
  1147. :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` **syntax_highlighter** :ref:`🔗<class_TextEdit_property_syntax_highlighter>`
  1148. .. rst-class:: classref-property-setget
  1149. - |void| **set_syntax_highlighter**\ (\ value\: :ref:`SyntaxHighlighter<class_SyntaxHighlighter>`\ )
  1150. - :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` **get_syntax_highlighter**\ (\ )
  1151. The syntax highlighter to use.
  1152. \ **Note:** A :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` instance should not be used across multiple **TextEdit** nodes.
  1153. .. rst-class:: classref-item-separator
  1154. ----
  1155. .. _class_TextEdit_property_tab_input_mode:
  1156. .. rst-class:: classref-property
  1157. :ref:`bool<class_bool>` **tab_input_mode** = ``true`` :ref:`🔗<class_TextEdit_property_tab_input_mode>`
  1158. .. rst-class:: classref-property-setget
  1159. - |void| **set_tab_input_mode**\ (\ value\: :ref:`bool<class_bool>`\ )
  1160. - :ref:`bool<class_bool>` **get_tab_input_mode**\ (\ )
  1161. If ``true``, :ref:`ProjectSettings.input/ui_text_indent<class_ProjectSettings_property_input/ui_text_indent>` input ``Tab`` character, otherwise it moves keyboard focus to the next :ref:`Control<class_Control>` in the scene.
  1162. .. rst-class:: classref-item-separator
  1163. ----
  1164. .. _class_TextEdit_property_text:
  1165. .. rst-class:: classref-property
  1166. :ref:`String<class_String>` **text** = ``""`` :ref:`🔗<class_TextEdit_property_text>`
  1167. .. rst-class:: classref-property-setget
  1168. - |void| **set_text**\ (\ value\: :ref:`String<class_String>`\ )
  1169. - :ref:`String<class_String>` **get_text**\ (\ )
  1170. String value of the **TextEdit**.
  1171. .. rst-class:: classref-item-separator
  1172. ----
  1173. .. _class_TextEdit_property_text_direction:
  1174. .. rst-class:: classref-property
  1175. :ref:`TextDirection<enum_Control_TextDirection>` **text_direction** = ``0`` :ref:`🔗<class_TextEdit_property_text_direction>`
  1176. .. rst-class:: classref-property-setget
  1177. - |void| **set_text_direction**\ (\ value\: :ref:`TextDirection<enum_Control_TextDirection>`\ )
  1178. - :ref:`TextDirection<enum_Control_TextDirection>` **get_text_direction**\ (\ )
  1179. Base text writing direction.
  1180. .. rst-class:: classref-item-separator
  1181. ----
  1182. .. _class_TextEdit_property_use_custom_word_separators:
  1183. .. rst-class:: classref-property
  1184. :ref:`bool<class_bool>` **use_custom_word_separators** = ``false`` :ref:`🔗<class_TextEdit_property_use_custom_word_separators>`
  1185. .. rst-class:: classref-property-setget
  1186. - |void| **set_use_custom_word_separators**\ (\ value\: :ref:`bool<class_bool>`\ )
  1187. - :ref:`bool<class_bool>` **is_custom_word_separators_enabled**\ (\ )
  1188. If ``false``, using :kbd:`Ctrl + Left` or :kbd:`Ctrl + Right` (:kbd:`Cmd + Left` or :kbd:`Cmd + Right` on macOS) bindings will use the behavior of :ref:`use_default_word_separators<class_TextEdit_property_use_default_word_separators>`. If ``true``, it will also stop the caret if a character within :ref:`custom_word_separators<class_TextEdit_property_custom_word_separators>` is detected. Useful for subword moving. This behavior also will be applied to the behavior of text selection.
  1189. .. rst-class:: classref-item-separator
  1190. ----
  1191. .. _class_TextEdit_property_use_default_word_separators:
  1192. .. rst-class:: classref-property
  1193. :ref:`bool<class_bool>` **use_default_word_separators** = ``true`` :ref:`🔗<class_TextEdit_property_use_default_word_separators>`
  1194. .. rst-class:: classref-property-setget
  1195. - |void| **set_use_default_word_separators**\ (\ value\: :ref:`bool<class_bool>`\ )
  1196. - :ref:`bool<class_bool>` **is_default_word_separators_enabled**\ (\ )
  1197. If ``false``, using :kbd:`Ctrl + Left` or :kbd:`Ctrl + Right` (:kbd:`Cmd + Left` or :kbd:`Cmd + Right` on macOS) bindings will stop moving caret only if a space or punctuation is detected. If ``true``, it will also stop the caret if a character is part of ``!"#$%&'()*+,-./:;<=>?@[\]^`{|}~``, the Unicode General Punctuation table, or the Unicode CJK Punctuation table. Useful for subword moving. This behavior also will be applied to the behavior of text selection.
  1198. .. rst-class:: classref-item-separator
  1199. ----
  1200. .. _class_TextEdit_property_virtual_keyboard_enabled:
  1201. .. rst-class:: classref-property
  1202. :ref:`bool<class_bool>` **virtual_keyboard_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_virtual_keyboard_enabled>`
  1203. .. rst-class:: classref-property-setget
  1204. - |void| **set_virtual_keyboard_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1205. - :ref:`bool<class_bool>` **is_virtual_keyboard_enabled**\ (\ )
  1206. If ``true``, the native virtual keyboard is enabled on platforms that support it.
  1207. .. rst-class:: classref-item-separator
  1208. ----
  1209. .. _class_TextEdit_property_virtual_keyboard_show_on_focus:
  1210. .. rst-class:: classref-property
  1211. :ref:`bool<class_bool>` **virtual_keyboard_show_on_focus** = ``true`` :ref:`🔗<class_TextEdit_property_virtual_keyboard_show_on_focus>`
  1212. .. rst-class:: classref-property-setget
  1213. - |void| **set_virtual_keyboard_show_on_focus**\ (\ value\: :ref:`bool<class_bool>`\ )
  1214. - :ref:`bool<class_bool>` **get_virtual_keyboard_show_on_focus**\ (\ )
  1215. If ``true``, the native virtual keyboard is shown on focus events on platforms that support it.
  1216. .. rst-class:: classref-item-separator
  1217. ----
  1218. .. _class_TextEdit_property_wrap_mode:
  1219. .. rst-class:: classref-property
  1220. :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **wrap_mode** = ``0`` :ref:`🔗<class_TextEdit_property_wrap_mode>`
  1221. .. rst-class:: classref-property-setget
  1222. - |void| **set_line_wrapping_mode**\ (\ value\: :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>`\ )
  1223. - :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **get_line_wrapping_mode**\ (\ )
  1224. Sets the line wrapping mode to use.
  1225. .. rst-class:: classref-section-separator
  1226. ----
  1227. .. rst-class:: classref-descriptions-group
  1228. Method Descriptions
  1229. -------------------
  1230. .. _class_TextEdit_private_method__backspace:
  1231. .. rst-class:: classref-method
  1232. |void| **_backspace**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__backspace>`
  1233. Override this method to define what happens when the user presses the backspace key.
  1234. .. rst-class:: classref-item-separator
  1235. ----
  1236. .. _class_TextEdit_private_method__copy:
  1237. .. rst-class:: classref-method
  1238. |void| **_copy**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__copy>`
  1239. Override this method to define what happens when the user performs a copy operation.
  1240. .. rst-class:: classref-item-separator
  1241. ----
  1242. .. _class_TextEdit_private_method__cut:
  1243. .. rst-class:: classref-method
  1244. |void| **_cut**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__cut>`
  1245. Override this method to define what happens when the user performs a cut operation.
  1246. .. rst-class:: classref-item-separator
  1247. ----
  1248. .. _class_TextEdit_private_method__handle_unicode_input:
  1249. .. rst-class:: classref-method
  1250. |void| **_handle_unicode_input**\ (\ unicode_char\: :ref:`int<class_int>`, caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__handle_unicode_input>`
  1251. Override this method to define what happens when the user types in the provided key ``unicode_char``.
  1252. .. rst-class:: classref-item-separator
  1253. ----
  1254. .. _class_TextEdit_private_method__paste:
  1255. .. rst-class:: classref-method
  1256. |void| **_paste**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__paste>`
  1257. Override this method to define what happens when the user performs a paste operation.
  1258. .. rst-class:: classref-item-separator
  1259. ----
  1260. .. _class_TextEdit_private_method__paste_primary_clipboard:
  1261. .. rst-class:: classref-method
  1262. |void| **_paste_primary_clipboard**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__paste_primary_clipboard>`
  1263. Override this method to define what happens when the user performs a paste operation with middle mouse button.
  1264. \ **Note:** This method is only implemented on Linux.
  1265. .. rst-class:: classref-item-separator
  1266. ----
  1267. .. _class_TextEdit_method_add_caret:
  1268. .. rst-class:: classref-method
  1269. :ref:`int<class_int>` **add_caret**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_add_caret>`
  1270. Adds a new caret at the given location. Returns the index of the new caret, or ``-1`` if the location is invalid.
  1271. .. rst-class:: classref-item-separator
  1272. ----
  1273. .. _class_TextEdit_method_add_caret_at_carets:
  1274. .. rst-class:: classref-method
  1275. |void| **add_caret_at_carets**\ (\ below\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_add_caret_at_carets>`
  1276. Adds an additional caret above or below every caret. If ``below`` is ``true`` the new caret will be added below and above otherwise.
  1277. .. rst-class:: classref-item-separator
  1278. ----
  1279. .. _class_TextEdit_method_add_gutter:
  1280. .. rst-class:: classref-method
  1281. |void| **add_gutter**\ (\ at\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_add_gutter>`
  1282. Register a new gutter to this **TextEdit**. Use ``at`` to have a specific gutter order. A value of ``-1`` appends the gutter to the right.
  1283. .. rst-class:: classref-item-separator
  1284. ----
  1285. .. _class_TextEdit_method_add_selection_for_next_occurrence:
  1286. .. rst-class:: classref-method
  1287. |void| **add_selection_for_next_occurrence**\ (\ ) :ref:`🔗<class_TextEdit_method_add_selection_for_next_occurrence>`
  1288. Adds a selection and a caret for the next occurrence of the current selection. If there is no active selection, selects word under caret.
  1289. .. rst-class:: classref-item-separator
  1290. ----
  1291. .. _class_TextEdit_method_adjust_carets_after_edit:
  1292. .. rst-class:: classref-method
  1293. |void| **adjust_carets_after_edit**\ (\ caret\: :ref:`int<class_int>`, from_line\: :ref:`int<class_int>`, from_col\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`, to_col\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_adjust_carets_after_edit>`
  1294. **Deprecated:** No longer necessary since methods now adjust carets themselves.
  1295. This method does nothing.
  1296. .. rst-class:: classref-item-separator
  1297. ----
  1298. .. _class_TextEdit_method_adjust_viewport_to_caret:
  1299. .. rst-class:: classref-method
  1300. |void| **adjust_viewport_to_caret**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_adjust_viewport_to_caret>`
  1301. Adjust the viewport so the caret is visible.
  1302. .. rst-class:: classref-item-separator
  1303. ----
  1304. .. _class_TextEdit_method_apply_ime:
  1305. .. rst-class:: classref-method
  1306. |void| **apply_ime**\ (\ ) :ref:`🔗<class_TextEdit_method_apply_ime>`
  1307. Applies text from the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME) to each caret and closes the IME if it is open.
  1308. .. rst-class:: classref-item-separator
  1309. ----
  1310. .. _class_TextEdit_method_backspace:
  1311. .. rst-class:: classref-method
  1312. |void| **backspace**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_backspace>`
  1313. Called when the user presses the backspace key. Can be overridden with :ref:`_backspace()<class_TextEdit_private_method__backspace>`.
  1314. .. rst-class:: classref-item-separator
  1315. ----
  1316. .. _class_TextEdit_method_begin_complex_operation:
  1317. .. rst-class:: classref-method
  1318. |void| **begin_complex_operation**\ (\ ) :ref:`🔗<class_TextEdit_method_begin_complex_operation>`
  1319. Starts a multipart edit. All edits will be treated as one action until :ref:`end_complex_operation()<class_TextEdit_method_end_complex_operation>` is called.
  1320. .. rst-class:: classref-item-separator
  1321. ----
  1322. .. _class_TextEdit_method_begin_multicaret_edit:
  1323. .. rst-class:: classref-method
  1324. |void| **begin_multicaret_edit**\ (\ ) :ref:`🔗<class_TextEdit_method_begin_multicaret_edit>`
  1325. Starts an edit for multiple carets. The edit must be ended with :ref:`end_multicaret_edit()<class_TextEdit_method_end_multicaret_edit>`. Multicaret edits can be used to edit text at multiple carets and delay merging the carets until the end, so the caret indexes aren't affected immediately. :ref:`begin_multicaret_edit()<class_TextEdit_method_begin_multicaret_edit>` and :ref:`end_multicaret_edit()<class_TextEdit_method_end_multicaret_edit>` can be nested, and the merge will happen at the last :ref:`end_multicaret_edit()<class_TextEdit_method_end_multicaret_edit>`.
  1326. ::
  1327. begin_complex_operation()
  1328. begin_multicaret_edit()
  1329. for i in range(get_caret_count()):
  1330. if multicaret_edit_ignore_caret(i):
  1331. continue
  1332. # Logic here.
  1333. end_multicaret_edit()
  1334. end_complex_operation()
  1335. .. rst-class:: classref-item-separator
  1336. ----
  1337. .. _class_TextEdit_method_cancel_ime:
  1338. .. rst-class:: classref-method
  1339. |void| **cancel_ime**\ (\ ) :ref:`🔗<class_TextEdit_method_cancel_ime>`
  1340. Closes the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME) if it is open. Any text in the IME will be lost.
  1341. .. rst-class:: classref-item-separator
  1342. ----
  1343. .. _class_TextEdit_method_center_viewport_to_caret:
  1344. .. rst-class:: classref-method
  1345. |void| **center_viewport_to_caret**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_center_viewport_to_caret>`
  1346. Centers the viewport on the line the editing caret is at. This also resets the :ref:`scroll_horizontal<class_TextEdit_property_scroll_horizontal>` value to ``0``.
  1347. .. rst-class:: classref-item-separator
  1348. ----
  1349. .. _class_TextEdit_method_clear:
  1350. .. rst-class:: classref-method
  1351. |void| **clear**\ (\ ) :ref:`🔗<class_TextEdit_method_clear>`
  1352. Performs a full reset of **TextEdit**, including undo history.
  1353. .. rst-class:: classref-item-separator
  1354. ----
  1355. .. _class_TextEdit_method_clear_undo_history:
  1356. .. rst-class:: classref-method
  1357. |void| **clear_undo_history**\ (\ ) :ref:`🔗<class_TextEdit_method_clear_undo_history>`
  1358. Clears the undo history.
  1359. .. rst-class:: classref-item-separator
  1360. ----
  1361. .. _class_TextEdit_method_collapse_carets:
  1362. .. rst-class:: classref-method
  1363. |void| **collapse_carets**\ (\ from_line\: :ref:`int<class_int>`, from_column\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`, to_column\: :ref:`int<class_int>`, inclusive\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_TextEdit_method_collapse_carets>`
  1364. Collapse all carets in the given range to the ``from_line`` and ``from_column`` position.
  1365. \ ``inclusive`` applies to both ends.
  1366. If :ref:`is_in_mulitcaret_edit()<class_TextEdit_method_is_in_mulitcaret_edit>` is ``true``, carets that are collapsed will be ``true`` for :ref:`multicaret_edit_ignore_caret()<class_TextEdit_method_multicaret_edit_ignore_caret>`.
  1367. \ :ref:`merge_overlapping_carets()<class_TextEdit_method_merge_overlapping_carets>` will be called if any carets were collapsed.
  1368. .. rst-class:: classref-item-separator
  1369. ----
  1370. .. _class_TextEdit_method_copy:
  1371. .. rst-class:: classref-method
  1372. |void| **copy**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_copy>`
  1373. Copies the current text selection. Can be overridden with :ref:`_copy()<class_TextEdit_private_method__copy>`.
  1374. .. rst-class:: classref-item-separator
  1375. ----
  1376. .. _class_TextEdit_method_cut:
  1377. .. rst-class:: classref-method
  1378. |void| **cut**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_cut>`
  1379. Cut's the current selection. Can be overridden with :ref:`_cut()<class_TextEdit_private_method__cut>`.
  1380. .. rst-class:: classref-item-separator
  1381. ----
  1382. .. _class_TextEdit_method_delete_selection:
  1383. .. rst-class:: classref-method
  1384. |void| **delete_selection**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_delete_selection>`
  1385. Deletes the selected text.
  1386. .. rst-class:: classref-item-separator
  1387. ----
  1388. .. _class_TextEdit_method_deselect:
  1389. .. rst-class:: classref-method
  1390. |void| **deselect**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_deselect>`
  1391. Deselects the current selection.
  1392. .. rst-class:: classref-item-separator
  1393. ----
  1394. .. _class_TextEdit_method_end_action:
  1395. .. rst-class:: classref-method
  1396. |void| **end_action**\ (\ ) :ref:`🔗<class_TextEdit_method_end_action>`
  1397. Marks the end of steps in the current action started with :ref:`start_action()<class_TextEdit_method_start_action>`.
  1398. .. rst-class:: classref-item-separator
  1399. ----
  1400. .. _class_TextEdit_method_end_complex_operation:
  1401. .. rst-class:: classref-method
  1402. |void| **end_complex_operation**\ (\ ) :ref:`🔗<class_TextEdit_method_end_complex_operation>`
  1403. Ends a multipart edit, started with :ref:`begin_complex_operation()<class_TextEdit_method_begin_complex_operation>`. If called outside a complex operation, the current operation is pushed onto the undo/redo stack.
  1404. .. rst-class:: classref-item-separator
  1405. ----
  1406. .. _class_TextEdit_method_end_multicaret_edit:
  1407. .. rst-class:: classref-method
  1408. |void| **end_multicaret_edit**\ (\ ) :ref:`🔗<class_TextEdit_method_end_multicaret_edit>`
  1409. Ends an edit for multiple carets, that was started with :ref:`begin_multicaret_edit()<class_TextEdit_method_begin_multicaret_edit>`. If this was the last :ref:`end_multicaret_edit()<class_TextEdit_method_end_multicaret_edit>` and :ref:`merge_overlapping_carets()<class_TextEdit_method_merge_overlapping_carets>` was called, carets will be merged.
  1410. .. rst-class:: classref-item-separator
  1411. ----
  1412. .. _class_TextEdit_method_get_caret_column:
  1413. .. rst-class:: classref-method
  1414. :ref:`int<class_int>` **get_caret_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_column>`
  1415. Returns the column the editing caret is at.
  1416. .. rst-class:: classref-item-separator
  1417. ----
  1418. .. _class_TextEdit_method_get_caret_count:
  1419. .. rst-class:: classref-method
  1420. :ref:`int<class_int>` **get_caret_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_count>`
  1421. Returns the number of carets in this **TextEdit**.
  1422. .. rst-class:: classref-item-separator
  1423. ----
  1424. .. _class_TextEdit_method_get_caret_draw_pos:
  1425. .. rst-class:: classref-method
  1426. :ref:`Vector2<class_Vector2>` **get_caret_draw_pos**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_draw_pos>`
  1427. Returns the caret pixel draw position.
  1428. .. rst-class:: classref-item-separator
  1429. ----
  1430. .. _class_TextEdit_method_get_caret_index_edit_order:
  1431. .. rst-class:: classref-method
  1432. :ref:`PackedInt32Array<class_PackedInt32Array>` **get_caret_index_edit_order**\ (\ ) :ref:`🔗<class_TextEdit_method_get_caret_index_edit_order>`
  1433. **Deprecated:** Carets no longer need to be edited in any specific order. If the carets need to be sorted, use :ref:`get_sorted_carets()<class_TextEdit_method_get_sorted_carets>` instead.
  1434. Returns a list of caret indexes in their edit order, this done from bottom to top. Edit order refers to the way actions such as :ref:`insert_text_at_caret()<class_TextEdit_method_insert_text_at_caret>` are applied.
  1435. .. rst-class:: classref-item-separator
  1436. ----
  1437. .. _class_TextEdit_method_get_caret_line:
  1438. .. rst-class:: classref-method
  1439. :ref:`int<class_int>` **get_caret_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_line>`
  1440. Returns the line the editing caret is on.
  1441. .. rst-class:: classref-item-separator
  1442. ----
  1443. .. _class_TextEdit_method_get_caret_wrap_index:
  1444. .. rst-class:: classref-method
  1445. :ref:`int<class_int>` **get_caret_wrap_index**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_wrap_index>`
  1446. Returns the wrap index the editing caret is on.
  1447. .. rst-class:: classref-item-separator
  1448. ----
  1449. .. _class_TextEdit_method_get_first_non_whitespace_column:
  1450. .. rst-class:: classref-method
  1451. :ref:`int<class_int>` **get_first_non_whitespace_column**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_first_non_whitespace_column>`
  1452. Returns the first column containing a non-whitespace character on the given line. If there is only whitespace, returns the number of characters.
  1453. .. rst-class:: classref-item-separator
  1454. ----
  1455. .. _class_TextEdit_method_get_first_visible_line:
  1456. .. rst-class:: classref-method
  1457. :ref:`int<class_int>` **get_first_visible_line**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_first_visible_line>`
  1458. Returns the first visible line.
  1459. .. rst-class:: classref-item-separator
  1460. ----
  1461. .. _class_TextEdit_method_get_gutter_count:
  1462. .. rst-class:: classref-method
  1463. :ref:`int<class_int>` **get_gutter_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_gutter_count>`
  1464. Returns the number of gutters registered.
  1465. .. rst-class:: classref-item-separator
  1466. ----
  1467. .. _class_TextEdit_method_get_gutter_name:
  1468. .. rst-class:: classref-method
  1469. :ref:`String<class_String>` **get_gutter_name**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_gutter_name>`
  1470. Returns the name of the gutter at the given index.
  1471. .. rst-class:: classref-item-separator
  1472. ----
  1473. .. _class_TextEdit_method_get_gutter_type:
  1474. .. rst-class:: classref-method
  1475. :ref:`GutterType<enum_TextEdit_GutterType>` **get_gutter_type**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_gutter_type>`
  1476. Returns the type of the gutter at the given index. Gutters can contain icons, text, or custom visuals.
  1477. .. rst-class:: classref-item-separator
  1478. ----
  1479. .. _class_TextEdit_method_get_gutter_width:
  1480. .. rst-class:: classref-method
  1481. :ref:`int<class_int>` **get_gutter_width**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_gutter_width>`
  1482. Returns the width of the gutter at the given index.
  1483. .. rst-class:: classref-item-separator
  1484. ----
  1485. .. _class_TextEdit_method_get_h_scroll_bar:
  1486. .. rst-class:: classref-method
  1487. :ref:`HScrollBar<class_HScrollBar>` **get_h_scroll_bar**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_h_scroll_bar>`
  1488. Returns the :ref:`HScrollBar<class_HScrollBar>` used by **TextEdit**.
  1489. .. rst-class:: classref-item-separator
  1490. ----
  1491. .. _class_TextEdit_method_get_indent_level:
  1492. .. rst-class:: classref-method
  1493. :ref:`int<class_int>` **get_indent_level**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_indent_level>`
  1494. Returns the indent level of the given line. This is the number of spaces and tabs at the beginning of the line, with the tabs taking the tab size into account (see :ref:`get_tab_size()<class_TextEdit_method_get_tab_size>`).
  1495. .. rst-class:: classref-item-separator
  1496. ----
  1497. .. _class_TextEdit_method_get_last_full_visible_line:
  1498. .. rst-class:: classref-method
  1499. :ref:`int<class_int>` **get_last_full_visible_line**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_last_full_visible_line>`
  1500. Returns the last visible line. Use :ref:`get_last_full_visible_line_wrap_index()<class_TextEdit_method_get_last_full_visible_line_wrap_index>` for the wrap index.
  1501. .. rst-class:: classref-item-separator
  1502. ----
  1503. .. _class_TextEdit_method_get_last_full_visible_line_wrap_index:
  1504. .. rst-class:: classref-method
  1505. :ref:`int<class_int>` **get_last_full_visible_line_wrap_index**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_last_full_visible_line_wrap_index>`
  1506. Returns the last visible wrap index of the last visible line.
  1507. .. rst-class:: classref-item-separator
  1508. ----
  1509. .. _class_TextEdit_method_get_last_unhidden_line:
  1510. .. rst-class:: classref-method
  1511. :ref:`int<class_int>` **get_last_unhidden_line**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_last_unhidden_line>`
  1512. Returns the last unhidden line in the entire **TextEdit**.
  1513. .. rst-class:: classref-item-separator
  1514. ----
  1515. .. _class_TextEdit_method_get_line:
  1516. .. rst-class:: classref-method
  1517. :ref:`String<class_String>` **get_line**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line>`
  1518. Returns the text of a specific line.
  1519. .. rst-class:: classref-item-separator
  1520. ----
  1521. .. _class_TextEdit_method_get_line_background_color:
  1522. .. rst-class:: classref-method
  1523. :ref:`Color<class_Color>` **get_line_background_color**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_background_color>`
  1524. Returns the custom background color of the given line. If no color is set, returns ``Color(0, 0, 0, 0)``.
  1525. .. rst-class:: classref-item-separator
  1526. ----
  1527. .. _class_TextEdit_method_get_line_column_at_pos:
  1528. .. rst-class:: classref-method
  1529. :ref:`Vector2i<class_Vector2i>` **get_line_column_at_pos**\ (\ position\: :ref:`Vector2i<class_Vector2i>`, clamp_line\: :ref:`bool<class_bool>` = true, clamp_column\: :ref:`bool<class_bool>` = true\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_column_at_pos>`
  1530. Returns the line and column at the given position. In the returned vector, ``x`` is the column and ``y`` is the line.
  1531. If ``clamp_line`` is ``false`` and ``position`` is below the last line, ``Vector2i(-1, -1)`` is returned.
  1532. If ``clamp_column`` is ``false`` and ``position`` is outside the column range of the line, ``Vector2i(-1, -1)`` is returned.
  1533. .. rst-class:: classref-item-separator
  1534. ----
  1535. .. _class_TextEdit_method_get_line_count:
  1536. .. rst-class:: classref-method
  1537. :ref:`int<class_int>` **get_line_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_count>`
  1538. Returns the number of lines in the text.
  1539. .. rst-class:: classref-item-separator
  1540. ----
  1541. .. _class_TextEdit_method_get_line_gutter_icon:
  1542. .. rst-class:: classref-method
  1543. :ref:`Texture2D<class_Texture2D>` **get_line_gutter_icon**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_gutter_icon>`
  1544. Returns the icon currently in ``gutter`` at ``line``. This only works when the gutter type is :ref:`GUTTER_TYPE_ICON<class_TextEdit_constant_GUTTER_TYPE_ICON>` (see :ref:`set_gutter_type()<class_TextEdit_method_set_gutter_type>`).
  1545. .. rst-class:: classref-item-separator
  1546. ----
  1547. .. _class_TextEdit_method_get_line_gutter_item_color:
  1548. .. rst-class:: classref-method
  1549. :ref:`Color<class_Color>` **get_line_gutter_item_color**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_gutter_item_color>`
  1550. Returns the color currently in ``gutter`` at ``line``.
  1551. .. rst-class:: classref-item-separator
  1552. ----
  1553. .. _class_TextEdit_method_get_line_gutter_metadata:
  1554. .. rst-class:: classref-method
  1555. :ref:`Variant<class_Variant>` **get_line_gutter_metadata**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_gutter_metadata>`
  1556. Returns the metadata currently in ``gutter`` at ``line``.
  1557. .. rst-class:: classref-item-separator
  1558. ----
  1559. .. _class_TextEdit_method_get_line_gutter_text:
  1560. .. rst-class:: classref-method
  1561. :ref:`String<class_String>` **get_line_gutter_text**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_gutter_text>`
  1562. Returns the text currently in ``gutter`` at ``line``. This only works when the gutter type is :ref:`GUTTER_TYPE_STRING<class_TextEdit_constant_GUTTER_TYPE_STRING>` (see :ref:`set_gutter_type()<class_TextEdit_method_set_gutter_type>`).
  1563. .. rst-class:: classref-item-separator
  1564. ----
  1565. .. _class_TextEdit_method_get_line_height:
  1566. .. rst-class:: classref-method
  1567. :ref:`int<class_int>` **get_line_height**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_height>`
  1568. Returns the maximum value of the line height among all lines.
  1569. \ **Note:** The return value is influenced by :ref:`line_spacing<class_TextEdit_theme_constant_line_spacing>` and :ref:`font_size<class_TextEdit_theme_font_size_font_size>`. And it will not be less than ``1``.
  1570. .. rst-class:: classref-item-separator
  1571. ----
  1572. .. _class_TextEdit_method_get_line_ranges_from_carets:
  1573. .. rst-class:: classref-method
  1574. :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] **get_line_ranges_from_carets**\ (\ only_selections\: :ref:`bool<class_bool>` = false, merge_adjacent\: :ref:`bool<class_bool>` = true\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_ranges_from_carets>`
  1575. Returns an :ref:`Array<class_Array>` of line ranges where ``x`` is the first line and ``y`` is the last line. All lines within these ranges will have a caret on them or be part of a selection. Each line will only be part of one line range, even if it has multiple carets on it.
  1576. If a selection's end column (:ref:`get_selection_to_column()<class_TextEdit_method_get_selection_to_column>`) is at column ``0``, that line will not be included. If a selection begins on the line after another selection ends and ``merge_adjacent`` is ``true``, or they begin and end on the same line, one line range will include both selections.
  1577. .. rst-class:: classref-item-separator
  1578. ----
  1579. .. _class_TextEdit_method_get_line_width:
  1580. .. rst-class:: classref-method
  1581. :ref:`int<class_int>` **get_line_width**\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = -1\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_width>`
  1582. Returns the width in pixels of the ``wrap_index`` on ``line``.
  1583. .. rst-class:: classref-item-separator
  1584. ----
  1585. .. _class_TextEdit_method_get_line_with_ime:
  1586. .. rst-class:: classref-method
  1587. :ref:`String<class_String>` **get_line_with_ime**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_with_ime>`
  1588. Returns line text as it is currently displayed, including IME composition string.
  1589. .. rst-class:: classref-item-separator
  1590. ----
  1591. .. _class_TextEdit_method_get_line_wrap_count:
  1592. .. rst-class:: classref-method
  1593. :ref:`int<class_int>` **get_line_wrap_count**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_wrap_count>`
  1594. Returns the number of times the given line is wrapped.
  1595. .. rst-class:: classref-item-separator
  1596. ----
  1597. .. _class_TextEdit_method_get_line_wrap_index_at_column:
  1598. .. rst-class:: classref-method
  1599. :ref:`int<class_int>` **get_line_wrap_index_at_column**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_wrap_index_at_column>`
  1600. Returns the wrap index of the given column on the given line. This ranges from ``0`` to :ref:`get_line_wrap_count()<class_TextEdit_method_get_line_wrap_count>`.
  1601. .. rst-class:: classref-item-separator
  1602. ----
  1603. .. _class_TextEdit_method_get_line_wrapped_text:
  1604. .. rst-class:: classref-method
  1605. :ref:`PackedStringArray<class_PackedStringArray>` **get_line_wrapped_text**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_wrapped_text>`
  1606. Returns an array of :ref:`String<class_String>`\ s representing each wrapped index.
  1607. .. rst-class:: classref-item-separator
  1608. ----
  1609. .. _class_TextEdit_method_get_local_mouse_pos:
  1610. .. rst-class:: classref-method
  1611. :ref:`Vector2<class_Vector2>` **get_local_mouse_pos**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_local_mouse_pos>`
  1612. Returns the local mouse position adjusted for the text direction.
  1613. .. rst-class:: classref-item-separator
  1614. ----
  1615. .. _class_TextEdit_method_get_menu:
  1616. .. rst-class:: classref-method
  1617. :ref:`PopupMenu<class_PopupMenu>` **get_menu**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_menu>`
  1618. Returns the :ref:`PopupMenu<class_PopupMenu>` of this **TextEdit**. By default, this menu is displayed when right-clicking on the **TextEdit**.
  1619. You can add custom menu items or remove standard ones. Make sure your IDs don't conflict with the standard ones (see :ref:`MenuItems<enum_TextEdit_MenuItems>`). For example:
  1620. .. tabs::
  1621. .. code-tab:: gdscript
  1622. func _ready():
  1623. var menu = get_menu()
  1624. # Remove all items after "Redo".
  1625. menu.item_count = menu.get_item_index(MENU_REDO) + 1
  1626. # Add custom items.
  1627. menu.add_separator()
  1628. menu.add_item("Insert Date", MENU_MAX + 1)
  1629. # Connect callback.
  1630. menu.id_pressed.connect(_on_item_pressed)
  1631. func _on_item_pressed(id):
  1632. if id == MENU_MAX + 1:
  1633. insert_text_at_caret(Time.get_date_string_from_system())
  1634. .. code-tab:: csharp
  1635. public override void _Ready()
  1636. {
  1637. var menu = GetMenu();
  1638. // Remove all items after "Redo".
  1639. menu.ItemCount = menu.GetItemIndex(TextEdit.MenuItems.Redo) + 1;
  1640. // Add custom items.
  1641. menu.AddSeparator();
  1642. menu.AddItem("Insert Date", TextEdit.MenuItems.Max + 1);
  1643. // Add event handler.
  1644. menu.IdPressed += OnItemPressed;
  1645. }
  1646. public void OnItemPressed(int id)
  1647. {
  1648. if (id == TextEdit.MenuItems.Max + 1)
  1649. {
  1650. InsertTextAtCaret(Time.GetDateStringFromSystem());
  1651. }
  1652. }
  1653. \ **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`Window.visible<class_Window_property_visible>` property.
  1654. .. rst-class:: classref-item-separator
  1655. ----
  1656. .. _class_TextEdit_method_get_minimap_line_at_pos:
  1657. .. rst-class:: classref-method
  1658. :ref:`int<class_int>` **get_minimap_line_at_pos**\ (\ position\: :ref:`Vector2i<class_Vector2i>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_minimap_line_at_pos>`
  1659. Returns the equivalent minimap line at ``position``.
  1660. .. rst-class:: classref-item-separator
  1661. ----
  1662. .. _class_TextEdit_method_get_minimap_visible_lines:
  1663. .. rst-class:: classref-method
  1664. :ref:`int<class_int>` **get_minimap_visible_lines**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_minimap_visible_lines>`
  1665. Returns the number of lines that may be drawn on the minimap.
  1666. .. rst-class:: classref-item-separator
  1667. ----
  1668. .. _class_TextEdit_method_get_next_composite_character_column:
  1669. .. rst-class:: classref-method
  1670. :ref:`int<class_int>` **get_next_composite_character_column**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_next_composite_character_column>`
  1671. Returns the correct column at the end of a composite character like ❤️‍🩹 (mending heart; Unicode: ``U+2764 U+FE0F U+200D U+1FA79``) which is comprised of more than one Unicode code point, if the caret is at the start of the composite character. Also returns the correct column with the caret at mid grapheme and for non-composite characters.
  1672. \ **Note:** To check at caret location use ``get_next_composite_character_column(get_caret_line(), get_caret_column())``
  1673. .. rst-class:: classref-item-separator
  1674. ----
  1675. .. _class_TextEdit_method_get_next_visible_line_index_offset_from:
  1676. .. rst-class:: classref-method
  1677. :ref:`Vector2i<class_Vector2i>` **get_next_visible_line_index_offset_from**\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>`, visible_amount\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_next_visible_line_index_offset_from>`
  1678. Similar to :ref:`get_next_visible_line_offset_from()<class_TextEdit_method_get_next_visible_line_offset_from>`, but takes into account the line wrap indexes. In the returned vector, ``x`` is the line, ``y`` is the wrap index.
  1679. .. rst-class:: classref-item-separator
  1680. ----
  1681. .. _class_TextEdit_method_get_next_visible_line_offset_from:
  1682. .. rst-class:: classref-method
  1683. :ref:`int<class_int>` **get_next_visible_line_offset_from**\ (\ line\: :ref:`int<class_int>`, visible_amount\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_next_visible_line_offset_from>`
  1684. Returns the count to the next visible line from ``line`` to ``line + visible_amount``. Can also count backwards. For example if a **TextEdit** has 5 lines with lines 2 and 3 hidden, calling this with ``line = 1, visible_amount = 1`` would return 3.
  1685. .. rst-class:: classref-item-separator
  1686. ----
  1687. .. _class_TextEdit_method_get_pos_at_line_column:
  1688. .. rst-class:: classref-method
  1689. :ref:`Vector2i<class_Vector2i>` **get_pos_at_line_column**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_pos_at_line_column>`
  1690. Returns the local position for the given ``line`` and ``column``. If ``x`` or ``y`` of the returned vector equal ``-1``, the position is outside of the viewable area of the control.
  1691. \ **Note:** The Y position corresponds to the bottom side of the line. Use :ref:`get_rect_at_line_column()<class_TextEdit_method_get_rect_at_line_column>` to get the top side position.
  1692. .. rst-class:: classref-item-separator
  1693. ----
  1694. .. _class_TextEdit_method_get_previous_composite_character_column:
  1695. .. rst-class:: classref-method
  1696. :ref:`int<class_int>` **get_previous_composite_character_column**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_previous_composite_character_column>`
  1697. Returns the correct column at the start of a composite character like ❤️‍🩹 (mending heart; Unicode: ``U+2764 U+FE0F U+200D U+1FA79``) which is comprised of more than one Unicode code point, if the caret is at the end of the composite character. Also returns the correct column with the caret at mid grapheme and for non-composite characters.
  1698. \ **Note:** To check at caret location use ``get_previous_composite_character_column(get_caret_line(), get_caret_column())``
  1699. .. rst-class:: classref-item-separator
  1700. ----
  1701. .. _class_TextEdit_method_get_rect_at_line_column:
  1702. .. rst-class:: classref-method
  1703. :ref:`Rect2i<class_Rect2i>` **get_rect_at_line_column**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_rect_at_line_column>`
  1704. Returns the local position and size for the grapheme at the given ``line`` and ``column``. If ``x`` or ``y`` position of the returned rect equal ``-1``, the position is outside of the viewable area of the control.
  1705. \ **Note:** The Y position of the returned rect corresponds to the top side of the line, unlike :ref:`get_pos_at_line_column()<class_TextEdit_method_get_pos_at_line_column>` which returns the bottom side.
  1706. .. rst-class:: classref-item-separator
  1707. ----
  1708. .. _class_TextEdit_method_get_saved_version:
  1709. .. rst-class:: classref-method
  1710. :ref:`int<class_int>` **get_saved_version**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_saved_version>`
  1711. Returns the last tagged saved version from :ref:`tag_saved_version()<class_TextEdit_method_tag_saved_version>`.
  1712. .. rst-class:: classref-item-separator
  1713. ----
  1714. .. _class_TextEdit_method_get_scroll_pos_for_line:
  1715. .. rst-class:: classref-method
  1716. :ref:`float<class_float>` **get_scroll_pos_for_line**\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_scroll_pos_for_line>`
  1717. Returns the scroll position for ``wrap_index`` of ``line``.
  1718. .. rst-class:: classref-item-separator
  1719. ----
  1720. .. _class_TextEdit_method_get_selected_text:
  1721. .. rst-class:: classref-method
  1722. :ref:`String<class_String>` **get_selected_text**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_get_selected_text>`
  1723. Returns the text inside the selection of a caret, or all the carets if ``caret_index`` is its default value ``-1``.
  1724. .. rst-class:: classref-item-separator
  1725. ----
  1726. .. _class_TextEdit_method_get_selection_at_line_column:
  1727. .. rst-class:: classref-method
  1728. :ref:`int<class_int>` **get_selection_at_line_column**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`, include_edges\: :ref:`bool<class_bool>` = true, only_selections\: :ref:`bool<class_bool>` = true\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_at_line_column>`
  1729. Returns the caret index of the selection at the given ``line`` and ``column``, or ``-1`` if there is none.
  1730. If ``include_edges`` is ``false``, the position must be inside the selection and not at either end. If ``only_selections`` is ``false``, carets without a selection will also be considered.
  1731. .. rst-class:: classref-item-separator
  1732. ----
  1733. .. _class_TextEdit_method_get_selection_column:
  1734. .. rst-class:: classref-method
  1735. :ref:`int<class_int>` **get_selection_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_column>`
  1736. **Deprecated:** Use :ref:`get_selection_origin_column()<class_TextEdit_method_get_selection_origin_column>` instead.
  1737. Returns the original start column of the selection.
  1738. .. rst-class:: classref-item-separator
  1739. ----
  1740. .. _class_TextEdit_method_get_selection_from_column:
  1741. .. rst-class:: classref-method
  1742. :ref:`int<class_int>` **get_selection_from_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_from_column>`
  1743. Returns the selection begin column. Returns the caret column if there is no selection.
  1744. .. rst-class:: classref-item-separator
  1745. ----
  1746. .. _class_TextEdit_method_get_selection_from_line:
  1747. .. rst-class:: classref-method
  1748. :ref:`int<class_int>` **get_selection_from_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_from_line>`
  1749. Returns the selection begin line. Returns the caret line if there is no selection.
  1750. .. rst-class:: classref-item-separator
  1751. ----
  1752. .. _class_TextEdit_method_get_selection_line:
  1753. .. rst-class:: classref-method
  1754. :ref:`int<class_int>` **get_selection_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_line>`
  1755. **Deprecated:** Use :ref:`get_selection_origin_line()<class_TextEdit_method_get_selection_origin_line>` instead.
  1756. Returns the original start line of the selection.
  1757. .. rst-class:: classref-item-separator
  1758. ----
  1759. .. _class_TextEdit_method_get_selection_mode:
  1760. .. rst-class:: classref-method
  1761. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **get_selection_mode**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_mode>`
  1762. Returns the current selection mode.
  1763. .. rst-class:: classref-item-separator
  1764. ----
  1765. .. _class_TextEdit_method_get_selection_origin_column:
  1766. .. rst-class:: classref-method
  1767. :ref:`int<class_int>` **get_selection_origin_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_origin_column>`
  1768. Returns the origin column of the selection. This is the opposite end from the caret.
  1769. .. rst-class:: classref-item-separator
  1770. ----
  1771. .. _class_TextEdit_method_get_selection_origin_line:
  1772. .. rst-class:: classref-method
  1773. :ref:`int<class_int>` **get_selection_origin_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_origin_line>`
  1774. Returns the origin line of the selection. This is the opposite end from the caret.
  1775. .. rst-class:: classref-item-separator
  1776. ----
  1777. .. _class_TextEdit_method_get_selection_to_column:
  1778. .. rst-class:: classref-method
  1779. :ref:`int<class_int>` **get_selection_to_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_to_column>`
  1780. Returns the selection end column. Returns the caret column if there is no selection.
  1781. .. rst-class:: classref-item-separator
  1782. ----
  1783. .. _class_TextEdit_method_get_selection_to_line:
  1784. .. rst-class:: classref-method
  1785. :ref:`int<class_int>` **get_selection_to_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_to_line>`
  1786. Returns the selection end line. Returns the caret line if there is no selection.
  1787. .. rst-class:: classref-item-separator
  1788. ----
  1789. .. _class_TextEdit_method_get_sorted_carets:
  1790. .. rst-class:: classref-method
  1791. :ref:`PackedInt32Array<class_PackedInt32Array>` **get_sorted_carets**\ (\ include_ignored_carets\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_TextEdit_method_get_sorted_carets>`
  1792. Returns the carets sorted by selection beginning from lowest line and column to highest (from top to bottom of text).
  1793. If ``include_ignored_carets`` is ``false``, carets from :ref:`multicaret_edit_ignore_caret()<class_TextEdit_method_multicaret_edit_ignore_caret>` will be ignored.
  1794. .. rst-class:: classref-item-separator
  1795. ----
  1796. .. _class_TextEdit_method_get_tab_size:
  1797. .. rst-class:: classref-method
  1798. :ref:`int<class_int>` **get_tab_size**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_tab_size>`
  1799. Returns the **TextEdit**'s' tab size.
  1800. .. rst-class:: classref-item-separator
  1801. ----
  1802. .. _class_TextEdit_method_get_total_gutter_width:
  1803. .. rst-class:: classref-method
  1804. :ref:`int<class_int>` **get_total_gutter_width**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_total_gutter_width>`
  1805. Returns the total width of all gutters and internal padding.
  1806. .. rst-class:: classref-item-separator
  1807. ----
  1808. .. _class_TextEdit_method_get_total_visible_line_count:
  1809. .. rst-class:: classref-method
  1810. :ref:`int<class_int>` **get_total_visible_line_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_total_visible_line_count>`
  1811. Returns the total number of lines in the text. This includes wrapped lines and excludes folded lines. If :ref:`wrap_mode<class_TextEdit_property_wrap_mode>` is set to :ref:`LINE_WRAPPING_NONE<class_TextEdit_constant_LINE_WRAPPING_NONE>` and no lines are folded (see :ref:`CodeEdit.is_line_folded()<class_CodeEdit_method_is_line_folded>`) then this is equivalent to :ref:`get_line_count()<class_TextEdit_method_get_line_count>`. See :ref:`get_visible_line_count_in_range()<class_TextEdit_method_get_visible_line_count_in_range>` for a limited range of lines.
  1812. .. rst-class:: classref-item-separator
  1813. ----
  1814. .. _class_TextEdit_method_get_v_scroll_bar:
  1815. .. rst-class:: classref-method
  1816. :ref:`VScrollBar<class_VScrollBar>` **get_v_scroll_bar**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_v_scroll_bar>`
  1817. Returns the :ref:`VScrollBar<class_VScrollBar>` of the **TextEdit**.
  1818. .. rst-class:: classref-item-separator
  1819. ----
  1820. .. _class_TextEdit_method_get_version:
  1821. .. rst-class:: classref-method
  1822. :ref:`int<class_int>` **get_version**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_version>`
  1823. Returns the current version of the **TextEdit**. The version is a count of recorded operations by the undo/redo history.
  1824. .. rst-class:: classref-item-separator
  1825. ----
  1826. .. _class_TextEdit_method_get_visible_line_count:
  1827. .. rst-class:: classref-method
  1828. :ref:`int<class_int>` **get_visible_line_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_visible_line_count>`
  1829. Returns the number of lines that can visually fit, rounded down, based on this control's height.
  1830. .. rst-class:: classref-item-separator
  1831. ----
  1832. .. _class_TextEdit_method_get_visible_line_count_in_range:
  1833. .. rst-class:: classref-method
  1834. :ref:`int<class_int>` **get_visible_line_count_in_range**\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_visible_line_count_in_range>`
  1835. Returns the total number of lines between ``from_line`` and ``to_line`` (inclusive) in the text. This includes wrapped lines and excludes folded lines. If the range covers all lines it is equivalent to :ref:`get_total_visible_line_count()<class_TextEdit_method_get_total_visible_line_count>`.
  1836. .. rst-class:: classref-item-separator
  1837. ----
  1838. .. _class_TextEdit_method_get_word_at_pos:
  1839. .. rst-class:: classref-method
  1840. :ref:`String<class_String>` **get_word_at_pos**\ (\ position\: :ref:`Vector2<class_Vector2>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_word_at_pos>`
  1841. Returns the word at ``position``.
  1842. .. rst-class:: classref-item-separator
  1843. ----
  1844. .. _class_TextEdit_method_get_word_under_caret:
  1845. .. rst-class:: classref-method
  1846. :ref:`String<class_String>` **get_word_under_caret**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |const| :ref:`🔗<class_TextEdit_method_get_word_under_caret>`
  1847. Returns a :ref:`String<class_String>` text with the word under the caret's location.
  1848. .. rst-class:: classref-item-separator
  1849. ----
  1850. .. _class_TextEdit_method_has_ime_text:
  1851. .. rst-class:: classref-method
  1852. :ref:`bool<class_bool>` **has_ime_text**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_has_ime_text>`
  1853. Returns ``true`` if the user has text in the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME).
  1854. .. rst-class:: classref-item-separator
  1855. ----
  1856. .. _class_TextEdit_method_has_redo:
  1857. .. rst-class:: classref-method
  1858. :ref:`bool<class_bool>` **has_redo**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_has_redo>`
  1859. Returns ``true`` if a "redo" action is available.
  1860. .. rst-class:: classref-item-separator
  1861. ----
  1862. .. _class_TextEdit_method_has_selection:
  1863. .. rst-class:: classref-method
  1864. :ref:`bool<class_bool>` **has_selection**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |const| :ref:`🔗<class_TextEdit_method_has_selection>`
  1865. Returns ``true`` if the user has selected text.
  1866. .. rst-class:: classref-item-separator
  1867. ----
  1868. .. _class_TextEdit_method_has_undo:
  1869. .. rst-class:: classref-method
  1870. :ref:`bool<class_bool>` **has_undo**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_has_undo>`
  1871. Returns ``true`` if an "undo" action is available.
  1872. .. rst-class:: classref-item-separator
  1873. ----
  1874. .. _class_TextEdit_method_insert_line_at:
  1875. .. rst-class:: classref-method
  1876. |void| **insert_line_at**\ (\ line\: :ref:`int<class_int>`, text\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_insert_line_at>`
  1877. Inserts a new line with ``text`` at ``line``.
  1878. .. rst-class:: classref-item-separator
  1879. ----
  1880. .. _class_TextEdit_method_insert_text:
  1881. .. rst-class:: classref-method
  1882. |void| **insert_text**\ (\ text\: :ref:`String<class_String>`, line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`, before_selection_begin\: :ref:`bool<class_bool>` = true, before_selection_end\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_TextEdit_method_insert_text>`
  1883. Inserts the ``text`` at ``line`` and ``column``.
  1884. If ``before_selection_begin`` is ``true``, carets and selections that begin at ``line`` and ``column`` will moved to the end of the inserted text, along with all carets after it.
  1885. If ``before_selection_end`` is ``true``, selections that end at ``line`` and ``column`` will be extended to the end of the inserted text. These parameters can be used to insert text inside of or outside of selections.
  1886. .. rst-class:: classref-item-separator
  1887. ----
  1888. .. _class_TextEdit_method_insert_text_at_caret:
  1889. .. rst-class:: classref-method
  1890. |void| **insert_text_at_caret**\ (\ text\: :ref:`String<class_String>`, caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_insert_text_at_caret>`
  1891. Insert the specified text at the caret position.
  1892. .. rst-class:: classref-item-separator
  1893. ----
  1894. .. _class_TextEdit_method_is_caret_after_selection_origin:
  1895. .. rst-class:: classref-method
  1896. :ref:`bool<class_bool>` **is_caret_after_selection_origin**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_is_caret_after_selection_origin>`
  1897. Returns ``true`` if the caret of the selection is after the selection origin. This can be used to determine the direction of the selection.
  1898. .. rst-class:: classref-item-separator
  1899. ----
  1900. .. _class_TextEdit_method_is_caret_visible:
  1901. .. rst-class:: classref-method
  1902. :ref:`bool<class_bool>` **is_caret_visible**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_is_caret_visible>`
  1903. Returns ``true`` if the caret is visible, ``false`` otherwise. A caret will be considered hidden if it is outside the scrollable area when scrolling is enabled.
  1904. \ **Note:** :ref:`is_caret_visible()<class_TextEdit_method_is_caret_visible>` does not account for a caret being off-screen if it is still within the scrollable area. It will return ``true`` even if the caret is off-screen as long as it meets **TextEdit**'s own conditions for being visible. This includes uses of :ref:`scroll_fit_content_width<class_TextEdit_property_scroll_fit_content_width>` and :ref:`scroll_fit_content_height<class_TextEdit_property_scroll_fit_content_height>` that cause the **TextEdit** to expand beyond the viewport's bounds.
  1905. .. rst-class:: classref-item-separator
  1906. ----
  1907. .. _class_TextEdit_method_is_dragging_cursor:
  1908. .. rst-class:: classref-method
  1909. :ref:`bool<class_bool>` **is_dragging_cursor**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_is_dragging_cursor>`
  1910. Returns ``true`` if the user is dragging their mouse for scrolling, selecting, or text dragging.
  1911. .. rst-class:: classref-item-separator
  1912. ----
  1913. .. _class_TextEdit_method_is_gutter_clickable:
  1914. .. rst-class:: classref-method
  1915. :ref:`bool<class_bool>` **is_gutter_clickable**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_gutter_clickable>`
  1916. Returns ``true`` if the gutter at the given index is clickable. See :ref:`set_gutter_clickable()<class_TextEdit_method_set_gutter_clickable>`.
  1917. .. rst-class:: classref-item-separator
  1918. ----
  1919. .. _class_TextEdit_method_is_gutter_drawn:
  1920. .. rst-class:: classref-method
  1921. :ref:`bool<class_bool>` **is_gutter_drawn**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_gutter_drawn>`
  1922. Returns ``true`` if the gutter at the given index is currently drawn. See :ref:`set_gutter_draw()<class_TextEdit_method_set_gutter_draw>`.
  1923. .. rst-class:: classref-item-separator
  1924. ----
  1925. .. _class_TextEdit_method_is_gutter_overwritable:
  1926. .. rst-class:: classref-method
  1927. :ref:`bool<class_bool>` **is_gutter_overwritable**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_gutter_overwritable>`
  1928. Returns ``true`` if the gutter at the given index is overwritable. See :ref:`set_gutter_overwritable()<class_TextEdit_method_set_gutter_overwritable>`.
  1929. .. rst-class:: classref-item-separator
  1930. ----
  1931. .. _class_TextEdit_method_is_in_mulitcaret_edit:
  1932. .. rst-class:: classref-method
  1933. :ref:`bool<class_bool>` **is_in_mulitcaret_edit**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_is_in_mulitcaret_edit>`
  1934. Returns ``true`` if a :ref:`begin_multicaret_edit()<class_TextEdit_method_begin_multicaret_edit>` has been called and :ref:`end_multicaret_edit()<class_TextEdit_method_end_multicaret_edit>` has not yet been called.
  1935. .. rst-class:: classref-item-separator
  1936. ----
  1937. .. _class_TextEdit_method_is_line_gutter_clickable:
  1938. .. rst-class:: classref-method
  1939. :ref:`bool<class_bool>` **is_line_gutter_clickable**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_line_gutter_clickable>`
  1940. Returns ``true`` if the gutter at the given index on the given line is clickable. See :ref:`set_line_gutter_clickable()<class_TextEdit_method_set_line_gutter_clickable>`.
  1941. .. rst-class:: classref-item-separator
  1942. ----
  1943. .. _class_TextEdit_method_is_line_wrapped:
  1944. .. rst-class:: classref-method
  1945. :ref:`bool<class_bool>` **is_line_wrapped**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_line_wrapped>`
  1946. Returns if the given line is wrapped.
  1947. .. rst-class:: classref-item-separator
  1948. ----
  1949. .. _class_TextEdit_method_is_menu_visible:
  1950. .. rst-class:: classref-method
  1951. :ref:`bool<class_bool>` **is_menu_visible**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_is_menu_visible>`
  1952. Returns ``true`` if the menu is visible. Use this instead of ``get_menu().visible`` to improve performance (so the creation of the menu is avoided). See :ref:`get_menu()<class_TextEdit_method_get_menu>`.
  1953. .. rst-class:: classref-item-separator
  1954. ----
  1955. .. _class_TextEdit_method_is_mouse_over_selection:
  1956. .. rst-class:: classref-method
  1957. :ref:`bool<class_bool>` **is_mouse_over_selection**\ (\ edges\: :ref:`bool<class_bool>`, caret_index\: :ref:`int<class_int>` = -1\ ) |const| :ref:`🔗<class_TextEdit_method_is_mouse_over_selection>`
  1958. Returns ``true`` if the mouse is over a selection. If ``edges`` is ``true``, the edges are considered part of the selection.
  1959. .. rst-class:: classref-item-separator
  1960. ----
  1961. .. _class_TextEdit_method_is_overtype_mode_enabled:
  1962. .. rst-class:: classref-method
  1963. :ref:`bool<class_bool>` **is_overtype_mode_enabled**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_is_overtype_mode_enabled>`
  1964. Returns ``true`` if overtype mode is enabled. See :ref:`set_overtype_mode_enabled()<class_TextEdit_method_set_overtype_mode_enabled>`.
  1965. .. rst-class:: classref-item-separator
  1966. ----
  1967. .. _class_TextEdit_method_menu_option:
  1968. .. rst-class:: classref-method
  1969. |void| **menu_option**\ (\ option\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_menu_option>`
  1970. Executes a given action as defined in the :ref:`MenuItems<enum_TextEdit_MenuItems>` enum.
  1971. .. rst-class:: classref-item-separator
  1972. ----
  1973. .. _class_TextEdit_method_merge_gutters:
  1974. .. rst-class:: classref-method
  1975. |void| **merge_gutters**\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_merge_gutters>`
  1976. Merge the gutters from ``from_line`` into ``to_line``. Only overwritable gutters will be copied. See :ref:`set_gutter_overwritable()<class_TextEdit_method_set_gutter_overwritable>`.
  1977. .. rst-class:: classref-item-separator
  1978. ----
  1979. .. _class_TextEdit_method_merge_overlapping_carets:
  1980. .. rst-class:: classref-method
  1981. |void| **merge_overlapping_carets**\ (\ ) :ref:`🔗<class_TextEdit_method_merge_overlapping_carets>`
  1982. Merges any overlapping carets. Will favor the newest caret, or the caret with a selection.
  1983. If :ref:`is_in_mulitcaret_edit()<class_TextEdit_method_is_in_mulitcaret_edit>` is ``true``, the merge will be queued to happen at the end of the multicaret edit. See :ref:`begin_multicaret_edit()<class_TextEdit_method_begin_multicaret_edit>` and :ref:`end_multicaret_edit()<class_TextEdit_method_end_multicaret_edit>`.
  1984. \ **Note:** This is not called when a caret changes position but after certain actions, so it is possible to get into a state where carets overlap.
  1985. .. rst-class:: classref-item-separator
  1986. ----
  1987. .. _class_TextEdit_method_multicaret_edit_ignore_caret:
  1988. .. rst-class:: classref-method
  1989. :ref:`bool<class_bool>` **multicaret_edit_ignore_caret**\ (\ caret_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_multicaret_edit_ignore_caret>`
  1990. Returns ``true`` if the given ``caret_index`` should be ignored as part of a multicaret edit. See :ref:`begin_multicaret_edit()<class_TextEdit_method_begin_multicaret_edit>` and :ref:`end_multicaret_edit()<class_TextEdit_method_end_multicaret_edit>`. Carets that should be ignored are ones that were part of removed text and will likely be merged at the end of the edit, or carets that were added during the edit.
  1991. It is recommended to ``continue`` within a loop iterating on multiple carets if a caret should be ignored.
  1992. .. rst-class:: classref-item-separator
  1993. ----
  1994. .. _class_TextEdit_method_paste:
  1995. .. rst-class:: classref-method
  1996. |void| **paste**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_paste>`
  1997. Paste at the current location. Can be overridden with :ref:`_paste()<class_TextEdit_private_method__paste>`.
  1998. .. rst-class:: classref-item-separator
  1999. ----
  2000. .. _class_TextEdit_method_paste_primary_clipboard:
  2001. .. rst-class:: classref-method
  2002. |void| **paste_primary_clipboard**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_paste_primary_clipboard>`
  2003. Pastes the primary clipboard.
  2004. .. rst-class:: classref-item-separator
  2005. ----
  2006. .. _class_TextEdit_method_redo:
  2007. .. rst-class:: classref-method
  2008. |void| **redo**\ (\ ) :ref:`🔗<class_TextEdit_method_redo>`
  2009. Perform redo operation.
  2010. .. rst-class:: classref-item-separator
  2011. ----
  2012. .. _class_TextEdit_method_remove_caret:
  2013. .. rst-class:: classref-method
  2014. |void| **remove_caret**\ (\ caret\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_remove_caret>`
  2015. Removes the given caret index.
  2016. \ **Note:** This can result in adjustment of all other caret indices.
  2017. .. rst-class:: classref-item-separator
  2018. ----
  2019. .. _class_TextEdit_method_remove_gutter:
  2020. .. rst-class:: classref-method
  2021. |void| **remove_gutter**\ (\ gutter\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_remove_gutter>`
  2022. Removes the gutter at the given index.
  2023. .. rst-class:: classref-item-separator
  2024. ----
  2025. .. _class_TextEdit_method_remove_line_at:
  2026. .. rst-class:: classref-method
  2027. |void| **remove_line_at**\ (\ line\: :ref:`int<class_int>`, move_carets_down\: :ref:`bool<class_bool>` = true\ ) :ref:`🔗<class_TextEdit_method_remove_line_at>`
  2028. Removes the line of text at ``line``. Carets on this line will attempt to match their previous visual x position.
  2029. If ``move_carets_down`` is ``true`` carets will move to the next line down, otherwise carets will move up.
  2030. .. rst-class:: classref-item-separator
  2031. ----
  2032. .. _class_TextEdit_method_remove_secondary_carets:
  2033. .. rst-class:: classref-method
  2034. |void| **remove_secondary_carets**\ (\ ) :ref:`🔗<class_TextEdit_method_remove_secondary_carets>`
  2035. Removes all additional carets.
  2036. .. rst-class:: classref-item-separator
  2037. ----
  2038. .. _class_TextEdit_method_remove_text:
  2039. .. rst-class:: classref-method
  2040. |void| **remove_text**\ (\ from_line\: :ref:`int<class_int>`, from_column\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`, to_column\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_remove_text>`
  2041. Removes text between the given positions.
  2042. .. rst-class:: classref-item-separator
  2043. ----
  2044. .. _class_TextEdit_method_search:
  2045. .. rst-class:: classref-method
  2046. :ref:`Vector2i<class_Vector2i>` **search**\ (\ text\: :ref:`String<class_String>`, flags\: :ref:`int<class_int>`, from_line\: :ref:`int<class_int>`, from_column\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_search>`
  2047. Perform a search inside the text. Search flags can be specified in the :ref:`SearchFlags<enum_TextEdit_SearchFlags>` enum.
  2048. In the returned vector, ``x`` is the column, ``y`` is the line. If no results are found, both are equal to ``-1``.
  2049. .. tabs::
  2050. .. code-tab:: gdscript
  2051. var result = search("print", SEARCH_WHOLE_WORDS, 0, 0)
  2052. if result.x != -1:
  2053. # Result found.
  2054. var line_number = result.y
  2055. var column_number = result.x
  2056. .. code-tab:: csharp
  2057. Vector2I result = Search("print", (uint)TextEdit.SearchFlags.WholeWords, 0, 0);
  2058. if (result.X != -1)
  2059. {
  2060. // Result found.
  2061. int lineNumber = result.Y;
  2062. int columnNumber = result.X;
  2063. }
  2064. .. rst-class:: classref-item-separator
  2065. ----
  2066. .. _class_TextEdit_method_select:
  2067. .. rst-class:: classref-method
  2068. |void| **select**\ (\ origin_line\: :ref:`int<class_int>`, origin_column\: :ref:`int<class_int>`, caret_line\: :ref:`int<class_int>`, caret_column\: :ref:`int<class_int>`, caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_select>`
  2069. Selects text from ``origin_line`` and ``origin_column`` to ``caret_line`` and ``caret_column`` for the given ``caret_index``. This moves the selection origin and the caret. If the positions are the same, the selection will be deselected.
  2070. If :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` is ``false``, no selection will occur.
  2071. \ **Note:** If supporting multiple carets this will not check for any overlap. See :ref:`merge_overlapping_carets()<class_TextEdit_method_merge_overlapping_carets>`.
  2072. .. rst-class:: classref-item-separator
  2073. ----
  2074. .. _class_TextEdit_method_select_all:
  2075. .. rst-class:: classref-method
  2076. |void| **select_all**\ (\ ) :ref:`🔗<class_TextEdit_method_select_all>`
  2077. Select all the text.
  2078. If :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` is ``false``, no selection will occur.
  2079. .. rst-class:: classref-item-separator
  2080. ----
  2081. .. _class_TextEdit_method_select_word_under_caret:
  2082. .. rst-class:: classref-method
  2083. |void| **select_word_under_caret**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_select_word_under_caret>`
  2084. Selects the word under the caret.
  2085. .. rst-class:: classref-item-separator
  2086. ----
  2087. .. _class_TextEdit_method_set_caret_column:
  2088. .. rst-class:: classref-method
  2089. |void| **set_caret_column**\ (\ column\: :ref:`int<class_int>`, adjust_viewport\: :ref:`bool<class_bool>` = true, caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_caret_column>`
  2090. Moves the caret to the specified ``column`` index.
  2091. If ``adjust_viewport`` is ``true``, the viewport will center at the caret position after the move occurs.
  2092. \ **Note:** If supporting multiple carets this will not check for any overlap. See :ref:`merge_overlapping_carets()<class_TextEdit_method_merge_overlapping_carets>`.
  2093. .. rst-class:: classref-item-separator
  2094. ----
  2095. .. _class_TextEdit_method_set_caret_line:
  2096. .. rst-class:: classref-method
  2097. |void| **set_caret_line**\ (\ line\: :ref:`int<class_int>`, adjust_viewport\: :ref:`bool<class_bool>` = true, can_be_hidden\: :ref:`bool<class_bool>` = true, wrap_index\: :ref:`int<class_int>` = 0, caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_caret_line>`
  2098. Moves the caret to the specified ``line`` index. The caret column will be moved to the same visual position it was at the last time :ref:`set_caret_column()<class_TextEdit_method_set_caret_column>` was called, or clamped to the end of the line.
  2099. If ``adjust_viewport`` is ``true``, the viewport will center at the caret position after the move occurs.
  2100. If ``can_be_hidden`` is ``true``, the specified ``line`` can be hidden.
  2101. If ``wrap_index`` is ``-1``, the caret column will be clamped to the ``line``'s length. If ``wrap_index`` is greater than ``-1``, the column will be moved to attempt to match the visual x position on the line's ``wrap_index`` to the position from the last time :ref:`set_caret_column()<class_TextEdit_method_set_caret_column>` was called.
  2102. \ **Note:** If supporting multiple carets this will not check for any overlap. See :ref:`merge_overlapping_carets()<class_TextEdit_method_merge_overlapping_carets>`.
  2103. .. rst-class:: classref-item-separator
  2104. ----
  2105. .. _class_TextEdit_method_set_gutter_clickable:
  2106. .. rst-class:: classref-method
  2107. |void| **set_gutter_clickable**\ (\ gutter\: :ref:`int<class_int>`, clickable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_clickable>`
  2108. If ``true``, the mouse cursor will change to a pointing hand (:ref:`Control.CURSOR_POINTING_HAND<class_Control_constant_CURSOR_POINTING_HAND>`) when hovering over the gutter at the given index. See :ref:`is_gutter_clickable()<class_TextEdit_method_is_gutter_clickable>` and :ref:`set_line_gutter_clickable()<class_TextEdit_method_set_line_gutter_clickable>`.
  2109. .. rst-class:: classref-item-separator
  2110. ----
  2111. .. _class_TextEdit_method_set_gutter_custom_draw:
  2112. .. rst-class:: classref-method
  2113. |void| **set_gutter_custom_draw**\ (\ column\: :ref:`int<class_int>`, draw_callback\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_custom_draw>`
  2114. Set a custom draw callback for the gutter at the given index. ``draw_callback`` must take the following arguments: A line index :ref:`int<class_int>`, a gutter index :ref:`int<class_int>`, and an area :ref:`Rect2<class_Rect2>`. This callback only works when the gutter type is :ref:`GUTTER_TYPE_CUSTOM<class_TextEdit_constant_GUTTER_TYPE_CUSTOM>` (see :ref:`set_gutter_type()<class_TextEdit_method_set_gutter_type>`).
  2115. .. rst-class:: classref-item-separator
  2116. ----
  2117. .. _class_TextEdit_method_set_gutter_draw:
  2118. .. rst-class:: classref-method
  2119. |void| **set_gutter_draw**\ (\ gutter\: :ref:`int<class_int>`, draw\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_draw>`
  2120. If ``true``, the gutter at the given index is drawn. The gutter type (:ref:`set_gutter_type()<class_TextEdit_method_set_gutter_type>`) determines how it is drawn. See :ref:`is_gutter_drawn()<class_TextEdit_method_is_gutter_drawn>`.
  2121. .. rst-class:: classref-item-separator
  2122. ----
  2123. .. _class_TextEdit_method_set_gutter_name:
  2124. .. rst-class:: classref-method
  2125. |void| **set_gutter_name**\ (\ gutter\: :ref:`int<class_int>`, name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_name>`
  2126. Sets the name of the gutter at the given index.
  2127. .. rst-class:: classref-item-separator
  2128. ----
  2129. .. _class_TextEdit_method_set_gutter_overwritable:
  2130. .. rst-class:: classref-method
  2131. |void| **set_gutter_overwritable**\ (\ gutter\: :ref:`int<class_int>`, overwritable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_overwritable>`
  2132. If ``true``, the line data of the gutter at the given index can be overridden when using :ref:`merge_gutters()<class_TextEdit_method_merge_gutters>`. See :ref:`is_gutter_overwritable()<class_TextEdit_method_is_gutter_overwritable>`.
  2133. .. rst-class:: classref-item-separator
  2134. ----
  2135. .. _class_TextEdit_method_set_gutter_type:
  2136. .. rst-class:: classref-method
  2137. |void| **set_gutter_type**\ (\ gutter\: :ref:`int<class_int>`, type\: :ref:`GutterType<enum_TextEdit_GutterType>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_type>`
  2138. Sets the type of gutter at the given index. Gutters can contain icons, text, or custom visuals.
  2139. .. rst-class:: classref-item-separator
  2140. ----
  2141. .. _class_TextEdit_method_set_gutter_width:
  2142. .. rst-class:: classref-method
  2143. |void| **set_gutter_width**\ (\ gutter\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_width>`
  2144. Set the width of the gutter at the given index.
  2145. .. rst-class:: classref-item-separator
  2146. ----
  2147. .. _class_TextEdit_method_set_line:
  2148. .. rst-class:: classref-method
  2149. |void| **set_line**\ (\ line\: :ref:`int<class_int>`, new_text\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_set_line>`
  2150. Sets the text for a specific ``line``.
  2151. Carets on the line will attempt to keep their visual x position.
  2152. .. rst-class:: classref-item-separator
  2153. ----
  2154. .. _class_TextEdit_method_set_line_as_center_visible:
  2155. .. rst-class:: classref-method
  2156. |void| **set_line_as_center_visible**\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_line_as_center_visible>`
  2157. Positions the ``wrap_index`` of ``line`` at the center of the viewport.
  2158. .. rst-class:: classref-item-separator
  2159. ----
  2160. .. _class_TextEdit_method_set_line_as_first_visible:
  2161. .. rst-class:: classref-method
  2162. |void| **set_line_as_first_visible**\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_line_as_first_visible>`
  2163. Positions the ``wrap_index`` of ``line`` at the top of the viewport.
  2164. .. rst-class:: classref-item-separator
  2165. ----
  2166. .. _class_TextEdit_method_set_line_as_last_visible:
  2167. .. rst-class:: classref-method
  2168. |void| **set_line_as_last_visible**\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_line_as_last_visible>`
  2169. Positions the ``wrap_index`` of ``line`` at the bottom of the viewport.
  2170. .. rst-class:: classref-item-separator
  2171. ----
  2172. .. _class_TextEdit_method_set_line_background_color:
  2173. .. rst-class:: classref-method
  2174. |void| **set_line_background_color**\ (\ line\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_TextEdit_method_set_line_background_color>`
  2175. Sets the custom background color of the given line. If transparent, this color is applied on top of the default background color (See :ref:`background_color<class_TextEdit_theme_color_background_color>`). If set to ``Color(0, 0, 0, 0)``, no additional color is applied.
  2176. .. rst-class:: classref-item-separator
  2177. ----
  2178. .. _class_TextEdit_method_set_line_gutter_clickable:
  2179. .. rst-class:: classref-method
  2180. |void| **set_line_gutter_clickable**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, clickable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_line_gutter_clickable>`
  2181. If ``clickable`` is ``true``, makes the ``gutter`` on the given ``line`` clickable. This is like :ref:`set_gutter_clickable()<class_TextEdit_method_set_gutter_clickable>`, but for a single line. If :ref:`is_gutter_clickable()<class_TextEdit_method_is_gutter_clickable>` is ``true``, this will not have any effect. See :ref:`is_line_gutter_clickable()<class_TextEdit_method_is_line_gutter_clickable>` and :ref:`gutter_clicked<class_TextEdit_signal_gutter_clicked>`.
  2182. .. rst-class:: classref-item-separator
  2183. ----
  2184. .. _class_TextEdit_method_set_line_gutter_icon:
  2185. .. rst-class:: classref-method
  2186. |void| **set_line_gutter_icon**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) :ref:`🔗<class_TextEdit_method_set_line_gutter_icon>`
  2187. Sets the icon for ``gutter`` on ``line`` to ``icon``. This only works when the gutter type is :ref:`GUTTER_TYPE_ICON<class_TextEdit_constant_GUTTER_TYPE_ICON>` (see :ref:`set_gutter_type()<class_TextEdit_method_set_gutter_type>`).
  2188. .. rst-class:: classref-item-separator
  2189. ----
  2190. .. _class_TextEdit_method_set_line_gutter_item_color:
  2191. .. rst-class:: classref-method
  2192. |void| **set_line_gutter_item_color**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_TextEdit_method_set_line_gutter_item_color>`
  2193. Sets the color for ``gutter`` on ``line`` to ``color``.
  2194. .. rst-class:: classref-item-separator
  2195. ----
  2196. .. _class_TextEdit_method_set_line_gutter_metadata:
  2197. .. rst-class:: classref-method
  2198. |void| **set_line_gutter_metadata**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, metadata\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_TextEdit_method_set_line_gutter_metadata>`
  2199. Sets the metadata for ``gutter`` on ``line`` to ``metadata``.
  2200. .. rst-class:: classref-item-separator
  2201. ----
  2202. .. _class_TextEdit_method_set_line_gutter_text:
  2203. .. rst-class:: classref-method
  2204. |void| **set_line_gutter_text**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, text\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_set_line_gutter_text>`
  2205. Sets the text for ``gutter`` on ``line`` to ``text``. This only works when the gutter type is :ref:`GUTTER_TYPE_STRING<class_TextEdit_constant_GUTTER_TYPE_STRING>` (see :ref:`set_gutter_type()<class_TextEdit_method_set_gutter_type>`).
  2206. .. rst-class:: classref-item-separator
  2207. ----
  2208. .. _class_TextEdit_method_set_overtype_mode_enabled:
  2209. .. rst-class:: classref-method
  2210. |void| **set_overtype_mode_enabled**\ (\ enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_overtype_mode_enabled>`
  2211. If ``true``, enables overtype mode. In this mode, typing overrides existing text instead of inserting text. The :ref:`ProjectSettings.input/ui_text_toggle_insert_mode<class_ProjectSettings_property_input/ui_text_toggle_insert_mode>` action toggles overtype mode. See :ref:`is_overtype_mode_enabled()<class_TextEdit_method_is_overtype_mode_enabled>`.
  2212. .. rst-class:: classref-item-separator
  2213. ----
  2214. .. _class_TextEdit_method_set_search_flags:
  2215. .. rst-class:: classref-method
  2216. |void| **set_search_flags**\ (\ flags\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_set_search_flags>`
  2217. Sets the search ``flags``. This is used with :ref:`set_search_text()<class_TextEdit_method_set_search_text>` to highlight occurrences of the searched text. Search flags can be specified from the :ref:`SearchFlags<enum_TextEdit_SearchFlags>` enum.
  2218. .. rst-class:: classref-item-separator
  2219. ----
  2220. .. _class_TextEdit_method_set_search_text:
  2221. .. rst-class:: classref-method
  2222. |void| **set_search_text**\ (\ search_text\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_set_search_text>`
  2223. Sets the search text. See :ref:`set_search_flags()<class_TextEdit_method_set_search_flags>`.
  2224. .. rst-class:: classref-item-separator
  2225. ----
  2226. .. _class_TextEdit_method_set_selection_mode:
  2227. .. rst-class:: classref-method
  2228. |void| **set_selection_mode**\ (\ mode\: :ref:`SelectionMode<enum_TextEdit_SelectionMode>`\ ) :ref:`🔗<class_TextEdit_method_set_selection_mode>`
  2229. Sets the current selection mode.
  2230. .. rst-class:: classref-item-separator
  2231. ----
  2232. .. _class_TextEdit_method_set_selection_origin_column:
  2233. .. rst-class:: classref-method
  2234. |void| **set_selection_origin_column**\ (\ column\: :ref:`int<class_int>`, caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_selection_origin_column>`
  2235. Sets the selection origin column to the ``column`` for the given ``caret_index``. If the selection origin is moved to the caret position, the selection will deselect.
  2236. .. rst-class:: classref-item-separator
  2237. ----
  2238. .. _class_TextEdit_method_set_selection_origin_line:
  2239. .. rst-class:: classref-method
  2240. |void| **set_selection_origin_line**\ (\ line\: :ref:`int<class_int>`, can_be_hidden\: :ref:`bool<class_bool>` = true, wrap_index\: :ref:`int<class_int>` = -1, caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_selection_origin_line>`
  2241. Sets the selection origin line to the ``line`` for the given ``caret_index``. If the selection origin is moved to the caret position, the selection will deselect.
  2242. If ``can_be_hidden`` is ``false``, The line will be set to the nearest unhidden line below or above.
  2243. If ``wrap_index`` is ``-1``, the selection origin column will be clamped to the ``line``'s length. If ``wrap_index`` is greater than ``-1``, the column will be moved to attempt to match the visual x position on the line's ``wrap_index`` to the position from the last time :ref:`set_selection_origin_column()<class_TextEdit_method_set_selection_origin_column>` or :ref:`select()<class_TextEdit_method_select>` was called.
  2244. .. rst-class:: classref-item-separator
  2245. ----
  2246. .. _class_TextEdit_method_set_tab_size:
  2247. .. rst-class:: classref-method
  2248. |void| **set_tab_size**\ (\ size\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_set_tab_size>`
  2249. Sets the tab size for the **TextEdit** to use.
  2250. .. rst-class:: classref-item-separator
  2251. ----
  2252. .. _class_TextEdit_method_set_tooltip_request_func:
  2253. .. rst-class:: classref-method
  2254. |void| **set_tooltip_request_func**\ (\ callback\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_TextEdit_method_set_tooltip_request_func>`
  2255. Provide custom tooltip text. The callback method must take the following args: ``hovered_word: String``.
  2256. .. rst-class:: classref-item-separator
  2257. ----
  2258. .. _class_TextEdit_method_skip_selection_for_next_occurrence:
  2259. .. rst-class:: classref-method
  2260. |void| **skip_selection_for_next_occurrence**\ (\ ) :ref:`🔗<class_TextEdit_method_skip_selection_for_next_occurrence>`
  2261. Moves a selection and a caret for the next occurrence of the current selection. If there is no active selection, moves to the next occurrence of the word under caret.
  2262. .. rst-class:: classref-item-separator
  2263. ----
  2264. .. _class_TextEdit_method_start_action:
  2265. .. rst-class:: classref-method
  2266. |void| **start_action**\ (\ action\: :ref:`EditAction<enum_TextEdit_EditAction>`\ ) :ref:`🔗<class_TextEdit_method_start_action>`
  2267. Starts an action, will end the current action if ``action`` is different.
  2268. An action will also end after a call to :ref:`end_action()<class_TextEdit_method_end_action>`, after :ref:`ProjectSettings.gui/timers/text_edit_idle_detect_sec<class_ProjectSettings_property_gui/timers/text_edit_idle_detect_sec>` is triggered or a new undoable step outside the :ref:`start_action()<class_TextEdit_method_start_action>` and :ref:`end_action()<class_TextEdit_method_end_action>` calls.
  2269. .. rst-class:: classref-item-separator
  2270. ----
  2271. .. _class_TextEdit_method_swap_lines:
  2272. .. rst-class:: classref-method
  2273. |void| **swap_lines**\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_swap_lines>`
  2274. Swaps the two lines. Carets will be swapped with the lines.
  2275. .. rst-class:: classref-item-separator
  2276. ----
  2277. .. _class_TextEdit_method_tag_saved_version:
  2278. .. rst-class:: classref-method
  2279. |void| **tag_saved_version**\ (\ ) :ref:`🔗<class_TextEdit_method_tag_saved_version>`
  2280. Tag the current version as saved.
  2281. .. rst-class:: classref-item-separator
  2282. ----
  2283. .. _class_TextEdit_method_undo:
  2284. .. rst-class:: classref-method
  2285. |void| **undo**\ (\ ) :ref:`🔗<class_TextEdit_method_undo>`
  2286. Perform undo operation.
  2287. .. rst-class:: classref-section-separator
  2288. ----
  2289. .. rst-class:: classref-descriptions-group
  2290. Theme Property Descriptions
  2291. ---------------------------
  2292. .. _class_TextEdit_theme_color_background_color:
  2293. .. rst-class:: classref-themeproperty
  2294. :ref:`Color<class_Color>` **background_color** = ``Color(0, 0, 0, 0)`` :ref:`🔗<class_TextEdit_theme_color_background_color>`
  2295. Sets the background :ref:`Color<class_Color>` of this **TextEdit**.
  2296. .. rst-class:: classref-item-separator
  2297. ----
  2298. .. _class_TextEdit_theme_color_caret_background_color:
  2299. .. rst-class:: classref-themeproperty
  2300. :ref:`Color<class_Color>` **caret_background_color** = ``Color(0, 0, 0, 1)`` :ref:`🔗<class_TextEdit_theme_color_caret_background_color>`
  2301. :ref:`Color<class_Color>` of the text behind the caret when using a block caret.
  2302. .. rst-class:: classref-item-separator
  2303. ----
  2304. .. _class_TextEdit_theme_color_caret_color:
  2305. .. rst-class:: classref-themeproperty
  2306. :ref:`Color<class_Color>` **caret_color** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`🔗<class_TextEdit_theme_color_caret_color>`
  2307. :ref:`Color<class_Color>` of the caret. This can be set to a fully transparent color to hide the caret entirely.
  2308. .. rst-class:: classref-item-separator
  2309. ----
  2310. .. _class_TextEdit_theme_color_current_line_color:
  2311. .. rst-class:: classref-themeproperty
  2312. :ref:`Color<class_Color>` **current_line_color** = ``Color(0.25, 0.25, 0.26, 0.8)`` :ref:`🔗<class_TextEdit_theme_color_current_line_color>`
  2313. Background :ref:`Color<class_Color>` of the line containing the caret.
  2314. .. rst-class:: classref-item-separator
  2315. ----
  2316. .. _class_TextEdit_theme_color_font_color:
  2317. .. rst-class:: classref-themeproperty
  2318. :ref:`Color<class_Color>` **font_color** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`🔗<class_TextEdit_theme_color_font_color>`
  2319. Sets the font :ref:`Color<class_Color>`.
  2320. .. rst-class:: classref-item-separator
  2321. ----
  2322. .. _class_TextEdit_theme_color_font_outline_color:
  2323. .. rst-class:: classref-themeproperty
  2324. :ref:`Color<class_Color>` **font_outline_color** = ``Color(0, 0, 0, 1)`` :ref:`🔗<class_TextEdit_theme_color_font_outline_color>`
  2325. The tint of text outline of the **TextEdit**.
  2326. .. rst-class:: classref-item-separator
  2327. ----
  2328. .. _class_TextEdit_theme_color_font_placeholder_color:
  2329. .. rst-class:: classref-themeproperty
  2330. :ref:`Color<class_Color>` **font_placeholder_color** = ``Color(0.875, 0.875, 0.875, 0.6)`` :ref:`🔗<class_TextEdit_theme_color_font_placeholder_color>`
  2331. Font color for :ref:`placeholder_text<class_TextEdit_property_placeholder_text>`.
  2332. .. rst-class:: classref-item-separator
  2333. ----
  2334. .. _class_TextEdit_theme_color_font_readonly_color:
  2335. .. rst-class:: classref-themeproperty
  2336. :ref:`Color<class_Color>` **font_readonly_color** = ``Color(0.875, 0.875, 0.875, 0.5)`` :ref:`🔗<class_TextEdit_theme_color_font_readonly_color>`
  2337. Sets the font :ref:`Color<class_Color>` when :ref:`editable<class_TextEdit_property_editable>` is disabled.
  2338. .. rst-class:: classref-item-separator
  2339. ----
  2340. .. _class_TextEdit_theme_color_font_selected_color:
  2341. .. rst-class:: classref-themeproperty
  2342. :ref:`Color<class_Color>` **font_selected_color** = ``Color(0, 0, 0, 0)`` :ref:`🔗<class_TextEdit_theme_color_font_selected_color>`
  2343. Sets the :ref:`Color<class_Color>` of the selected text. If equal to ``Color(0, 0, 0, 0)``, it will be ignored.
  2344. .. rst-class:: classref-item-separator
  2345. ----
  2346. .. _class_TextEdit_theme_color_search_result_border_color:
  2347. .. rst-class:: classref-themeproperty
  2348. :ref:`Color<class_Color>` **search_result_border_color** = ``Color(0.3, 0.3, 0.3, 0.4)`` :ref:`🔗<class_TextEdit_theme_color_search_result_border_color>`
  2349. :ref:`Color<class_Color>` of the border around text that matches the search query.
  2350. .. rst-class:: classref-item-separator
  2351. ----
  2352. .. _class_TextEdit_theme_color_search_result_color:
  2353. .. rst-class:: classref-themeproperty
  2354. :ref:`Color<class_Color>` **search_result_color** = ``Color(0.3, 0.3, 0.3, 1)`` :ref:`🔗<class_TextEdit_theme_color_search_result_color>`
  2355. :ref:`Color<class_Color>` behind the text that matches the search query.
  2356. .. rst-class:: classref-item-separator
  2357. ----
  2358. .. _class_TextEdit_theme_color_selection_color:
  2359. .. rst-class:: classref-themeproperty
  2360. :ref:`Color<class_Color>` **selection_color** = ``Color(0.5, 0.5, 0.5, 1)`` :ref:`🔗<class_TextEdit_theme_color_selection_color>`
  2361. Sets the highlight :ref:`Color<class_Color>` of text selections.
  2362. .. rst-class:: classref-item-separator
  2363. ----
  2364. .. _class_TextEdit_theme_color_word_highlighted_color:
  2365. .. rst-class:: classref-themeproperty
  2366. :ref:`Color<class_Color>` **word_highlighted_color** = ``Color(0.5, 0.5, 0.5, 0.25)`` :ref:`🔗<class_TextEdit_theme_color_word_highlighted_color>`
  2367. Sets the highlight :ref:`Color<class_Color>` of multiple occurrences. :ref:`highlight_all_occurrences<class_TextEdit_property_highlight_all_occurrences>` has to be enabled.
  2368. .. rst-class:: classref-item-separator
  2369. ----
  2370. .. _class_TextEdit_theme_constant_caret_width:
  2371. .. rst-class:: classref-themeproperty
  2372. :ref:`int<class_int>` **caret_width** = ``1`` :ref:`🔗<class_TextEdit_theme_constant_caret_width>`
  2373. The caret's width in pixels. Greater values can be used to improve accessibility by ensuring the caret is easily visible, or to ensure consistency with a large font size. If set to ``0`` or lower, the caret width is automatically set to 1 pixel and multiplied by the display scaling factor.
  2374. .. rst-class:: classref-item-separator
  2375. ----
  2376. .. _class_TextEdit_theme_constant_line_spacing:
  2377. .. rst-class:: classref-themeproperty
  2378. :ref:`int<class_int>` **line_spacing** = ``4`` :ref:`🔗<class_TextEdit_theme_constant_line_spacing>`
  2379. Additional vertical spacing between lines (in pixels), spacing is added to line descent. This value can be negative.
  2380. .. rst-class:: classref-item-separator
  2381. ----
  2382. .. _class_TextEdit_theme_constant_outline_size:
  2383. .. rst-class:: classref-themeproperty
  2384. :ref:`int<class_int>` **outline_size** = ``0`` :ref:`🔗<class_TextEdit_theme_constant_outline_size>`
  2385. The size of the text outline.
  2386. \ **Note:** If using a font with :ref:`FontFile.multichannel_signed_distance_field<class_FontFile_property_multichannel_signed_distance_field>` enabled, its :ref:`FontFile.msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` must be set to at least *twice* the value of :ref:`outline_size<class_TextEdit_theme_constant_outline_size>` for outline rendering to look correct. Otherwise, the outline may appear to be cut off earlier than intended.
  2387. .. rst-class:: classref-item-separator
  2388. ----
  2389. .. _class_TextEdit_theme_font_font:
  2390. .. rst-class:: classref-themeproperty
  2391. :ref:`Font<class_Font>` **font** :ref:`🔗<class_TextEdit_theme_font_font>`
  2392. Sets the default :ref:`Font<class_Font>`.
  2393. .. rst-class:: classref-item-separator
  2394. ----
  2395. .. _class_TextEdit_theme_font_size_font_size:
  2396. .. rst-class:: classref-themeproperty
  2397. :ref:`int<class_int>` **font_size** :ref:`🔗<class_TextEdit_theme_font_size_font_size>`
  2398. Sets default font size.
  2399. .. rst-class:: classref-item-separator
  2400. ----
  2401. .. _class_TextEdit_theme_icon_space:
  2402. .. rst-class:: classref-themeproperty
  2403. :ref:`Texture2D<class_Texture2D>` **space** :ref:`🔗<class_TextEdit_theme_icon_space>`
  2404. Sets a custom :ref:`Texture2D<class_Texture2D>` for space text characters.
  2405. .. rst-class:: classref-item-separator
  2406. ----
  2407. .. _class_TextEdit_theme_icon_tab:
  2408. .. rst-class:: classref-themeproperty
  2409. :ref:`Texture2D<class_Texture2D>` **tab** :ref:`🔗<class_TextEdit_theme_icon_tab>`
  2410. Sets a custom :ref:`Texture2D<class_Texture2D>` for tab text characters.
  2411. .. rst-class:: classref-item-separator
  2412. ----
  2413. .. _class_TextEdit_theme_style_focus:
  2414. .. rst-class:: classref-themeproperty
  2415. :ref:`StyleBox<class_StyleBox>` **focus** :ref:`🔗<class_TextEdit_theme_style_focus>`
  2416. Sets the :ref:`StyleBox<class_StyleBox>` when in focus. The :ref:`focus<class_TextEdit_theme_style_focus>` :ref:`StyleBox<class_StyleBox>` is displayed *over* the base :ref:`StyleBox<class_StyleBox>`, so a partially transparent :ref:`StyleBox<class_StyleBox>` should be used to ensure the base :ref:`StyleBox<class_StyleBox>` remains visible. A :ref:`StyleBox<class_StyleBox>` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
  2417. .. rst-class:: classref-item-separator
  2418. ----
  2419. .. _class_TextEdit_theme_style_normal:
  2420. .. rst-class:: classref-themeproperty
  2421. :ref:`StyleBox<class_StyleBox>` **normal** :ref:`🔗<class_TextEdit_theme_style_normal>`
  2422. Sets the :ref:`StyleBox<class_StyleBox>` of this **TextEdit**.
  2423. .. rst-class:: classref-item-separator
  2424. ----
  2425. .. _class_TextEdit_theme_style_read_only:
  2426. .. rst-class:: classref-themeproperty
  2427. :ref:`StyleBox<class_StyleBox>` **read_only** :ref:`🔗<class_TextEdit_theme_style_read_only>`
  2428. Sets the :ref:`StyleBox<class_StyleBox>` of this **TextEdit** when :ref:`editable<class_TextEdit_property_editable>` is disabled.
  2429. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  2430. .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
  2431. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  2432. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  2433. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  2434. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  2435. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  2436. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  2437. .. |void| replace:: :abbr:`void (No return value.)`