parameters: (self, snippet, before, after)
docstring: Expands the given snippet, and handles everything
          that needs to be done with it.
docstring_summary: Expands the given snippet, and handles everything
          that needs to be done with it.
docstring_tokens: Expands the given snippet and handles everything that needs to be done with it .
function: def _do_snippet(self, snippet, before, after):
          """ Expands the given snippet, and handles everything
          that needs to be done with it.
          """
          # Adjust before, maybe the trigger is not the complete word
          text_before = before
          if snippet.matched:
              text_before = before[:-len(snippet.matched)]
  
          if self._cs:
              start = Position(_vim.buf.cursor.line, len(text_before))
              end = Position(_vim.buf.cursor.line, len(before))
  
              si = snippet.launch(text_before, self._visual_content,
                      self._cs.find_parent_for_new_to(start), start, end)
          else:
              start = Position(_vim.buf.cursor.line, len(text_before))
              end = Position(_vim.buf.cursor.line, len(before))
              si = snippet.launch(text_before, self._visual_content, None, start, end)
  
          self._visual_content.reset()
          self._csnippets.append(si)
  
          self._ignore_movements = True
          self._vstate.remember_buffer(self._csnippets[0])
  
          self._jump()
function_tokens: def _do_snippet ( self , snippet , before , after ) : # Adjust before, maybe the trigger is not the complete word text_before = before if snippet . matched : text_before = before [ : - len ( snippet . matched ) ] if self . _cs : start = Position ( _vim . buf . cursor . line , len ( text_before ) ) end = Position ( _vim . buf . cursor . line , len ( before ) ) si = snippet . launch ( text_before , self . _visual_content , self . _cs . find_parent_for_new_to ( start ) , start , end ) else : start = Position ( _vim . buf . cursor . line , len ( text_before ) ) end = Position ( _vim . buf . cursor . line , len ( before ) ) si = snippet . launch ( text_before , self . _visual_content , None , start , end ) self . _visual_content . reset ( ) self . _csnippets . append ( si ) self . _ignore_movements = True self . _vstate . remember_buffer ( self . _csnippets [ 0 ] ) self . _jump ( )