title: Changing tkinter's Text widget font without overriding existing text(only future text)
body: <p><strong>Minimal reproducible example code:</strong></p>
  
  <pre><code>import tkinter as tk
  from tkinter import colorchooser
  
  root = tk.Tk()
  
  # iterate and increment count to create indexed tag names
  count = 0
  
  # creates a function that colors text selection and no text selection
  def color_picker():
      global count
      # creates the color picker prompt
      color = tk.colorchooser.askcolor()
  
      # color text selection
      if text_area.tag_ranges('sel'):
          text_area.tag_add('colortag_' + str(count), tk.SEL_FIRST, tk.SEL_LAST)
          text_area.tag_config('colortag_' + str(count), foreground=color[1])
  
          count += 1
  
      # color untagged text in case of no text selection
      else:
          text_area.config(foreground=color[1])
  
  
  # the used field for typing text
  text_area = tk.Text(root, width=30, height=1)
  text_area.pack()
  
  # new button to invoke color_picker()
  color_btn = tk.Button(root, text='Pick color', command=color_picker).pack()
  
  root.mainloop()
  </code></pre>
  
  <p><strong>Desired result:</strong> I am looking for options where if no text is selected only future text's font color would change.</p>
  
  <p><strong>Current result:</strong> When no text selection is made both future text's font color changes and past text.</p>
  
  <p><strong>Update #1:</strong> I've been considering tagging text per key press, any one has an idea for the viability and the syntax of such a solution? Optimally it could be applied to Bold, Highlight, Overstrike and Underline.. For the latter the first index could be toggling Bold on and last index toggling Bold off?</p>